MD5 test suite:
MD5 ("") = d41d8cd98f00b204e9800998ecf8427e
MD5 ("a") = 0cc175b9c0f1b6a831c399e269772661
MD5 ("abc") = 900150983cd24fb0d6963f7d28e17f72
MD5 ("message digest") = f96b697d7cb7938d525a2f31aaf161d0
MD5 ("abcdefghijklmnopqrstuvwxyz") = c3fcd3d76192e4007dfb496cca67e13b
MD5 ("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789") = d174ab98d277d9f5a5611c2c9f419d9f
MD5 ("12345678901234567890123456789012345678901234567890123456789012345678901234567890") = 57edf4a22be3c955ac49da2e2107b67a
Salt: abcdef
Password: rosebud
Hash:$1$abcdef$2XiyKFam4XUU0UKeisSUw.

Salt: 01234567
Password: trust noone
Hash:$1$01234567$UOH93AP.QnI8/c8miDJjz/

Salt: 76543210
Password: trust, but verify
Hash:$1$76543210$w5fc8I64uQ1gulWoDQ4vw0

Salt: QWERTY
Password: for the world is hollow, and I have touched the sky
Hash:$1$QWERTY$DGJfam2.wuUFO90L/I9Ty.

