首先說明這份代碼的原創(chuàng)作者不是我,我只是做了一點簡單的包裝,在這里下載:
http://www.shnenglu.com/Files/true/md5lib.rar 使用說明:
(1)源代碼主要提供了MD5類,在類之外提供了兩個函數(shù):
std::string getMD5(std::ifstream& stream);//這個是文件接口,計算文件內(nèi)容的MD5
std::string getMD5(const char* str,unsigned int str_len);//這個就不用說了
想研究代碼的話,參考MD5類的實現(xiàn),如果只是用的話,只需會用上面的接口即可
(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)的使用:創(chuàng)建md5.txt,內(nèi)容為:MD5
ifstream file("md5.txt");
string sMD5File = getMD5(file);
sMD5File 的也是:7f138a09169b250e9dcb378140907378
(4)linux下提供md5sum,將上面的md5.txt傳到linux下,然后:md5sum md5.txt,結(jié)果和上面一樣。注意,一定要確認md5.txt內(nèi)容為3個字節(jié),如果直接登錄上linux,用vi創(chuàng)建md5.txt,然后輸入“MD5”,最后保存,這種方式linux下會追加一個空行,導(dǎo)致MD5值不一致。
(5)安全意識要樹立,這個網(wǎng)站
http://www.cmd5.com/以網(wǎng)頁形式提供md5解密,將上面的7f138a09169b250e9dcb378140907378的輸入,幾秒時間,得到MD5