https://imeursault.github.io/posts/md5/