生活随笔
收集整理的這篇文章主要介紹了
如何利用openSsl来计算一个文件的md5值?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?openssl環境的配置, 我就不再說了。在本文中, 我們來討論一個文件的md5值, 廢話少說, 直接給大家代碼, 上點干貨:
[cpp]?view plaincopy
#include?<iostream>?? #include?<openssl/md5.h>?//?如果你直接拷貝我的程序運行,?那注定找不到md5.h?? #pragma?comment(lib,?"libeay32.lib")?? #pragma?comment(lib,?"ssleay32.lib")??//?在本程序中,?可以注釋掉這句?? using?namespace?std;?? ?? int?main()?? {?? ????MD5_CTX?ctx;?? ????int?len?=?0;?? ????unsigned?char?buffer[1024]?=?{0};?? ????unsigned?char?digest[16]?=?{0};?? ?????? ????FILE?*pFile?=?fopen?("test1.db",?"rb");??? ?????? ????MD5_Init?(&ctx);?? ?? ????while?((len?=?fread?(buffer,?1,?1024,?pFile))?>?0)?? ????{?? ????????MD5_Update?(&ctx,?buffer,?len);?? ????}?? ?? ????MD5_Final?(digest,?&ctx);?? ?????? ????fclose(pFile);?? ?????? ?? ????int?i?=?0;?? ????char?buf[33]?=?{0};?? ????char?tmp[3]?=?{0};?? ????for(i?=?0;?i?<?16;?i++?)?? ????{?? ????????sprintf(tmp,"%02X",?digest[i]);??? ????????strcat(buf,?tmp);??? ????}?? ?????? ????cout?<<?buf?<<?endl;???? ?? ????return?0;?? }??
? ? ? 經與其他工具軟件進行對比, 發現結果完全一致。
總結
以上是生活随笔為你收集整理的如何利用openSsl来计算一个文件的md5值?的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。