折腾了一下密码算法,MD5 和 SHA 算法现在已经不可信了,不过在一定的领域还是具有存在的合理性。
Microsoft 其实已经做了很多了,在 wincrypt.h 中。
这里便是利用 wincrypt.h 来进行 MD2 MD4 MD5 加密。
在测试的时候发现了一些问题,同样的代码,在工程设置 ANSI 和 UNICODE 编码的时候,加密同样的字符串,结果不一定是相同的。为了保持和常规的单独的 md5 算法(不是采用 MS 函数库)结果一致,特地进行了一下 WideCharToMultiByte 的转换。测试结果是一样的了。