首先说明这份代码的原创作者不是我,我只是做了一点简单的包装,在这里下载:
http://www.cppblog.com/Files/true/md5lib.rar 使用说明:
(1)源代码主要提供了MD5类,在类之外提供了两个函数:
std::string getMD5(std::ifstream& stream);//这个是文件接口,计算文件内容的MD5
std::string getMD5(const char* str,unsigned int str_len);//这个就不用说了
想研究代码的话,参考MD5类的实现,如果只是用的话,只需会用上面的接口即可
(2)std::string getMD5(const char* str,unsigned int str_len)的使用:
string sName = "MD5";
string sMD5 = getMD5(sName.c_str(),sName.length());
此时sMD5的值为:7f138a09169b250e9dcb378140907378
(3)std::string getMD5(std::ifstream& stream)的使用:创建md5.txt,内容为:MD5
ifstream file("md5.txt");
string sMD5File = getMD5(file);
sMD5File 的也是:7f138a09169b250e9dcb378140907378
(4)linux下提供md5sum,将上面的md5.txt传到linux下,然后:md5sum md5.txt,结果和上面一样。注意,一定要确认md5.txt内容为3个字节,如果直接登录上linux,用vi创建md5.txt,然后输入“MD5”,最后保存,这种方式linux下会追加一个空行,导致MD5值不一致。
(5)安全意识要树立,这个网站
http://www.cmd5.com/以网页形式提供md5解密,将上面的7f138a09169b250e9dcb378140907378的输入,几秒时间,得到MD5