在文件傳輸過程中可能會造成文件損壞或被他人惡意更改,爲了瞭解文件是否出現了上述情況,我們常爲文件生成“文件校驗碼”
常用的有:
一. md5sum:一般由32個或64個字符組成(unsigned char md5_32[16] 或者 unsigned char md5_64[32])
用戶:常使用md5校驗工具生成和比較文件的“文件校驗碼”
developer:常使用開源代碼,在程序中使用md5接口產生“文件校驗碼”
例如開源MD5.cpp接口的使用
聲明:
md5_state_t sstate; // 一個結構體,用來存放計算的中間結果
unsigned char smd5[16] = {0}; // 存放最後的md5值
初始化:
void md5_init(md5_state_t *pms); // 將結構體裏的變量根據特定規則初始化
添加buff:
void md5_append(md5_state_t *pms, const md5_byte_t *data, int nbytes); // 根據buff中的內容更新結構體
pms: 結構體
data: buff
nbytes: buff 的長度
得出md5值:
void md5_finish(md5_state_t *pms, md5_byte_t digest[16]); // 經過算法將結構體的內容轉化爲md5
二. sha1sum : 一般由40個字符組成
linux/unix平臺下可以使用命令行生成一個文件的sha1sum值。
$ sha1sum filename [filename] ... > SHA1SUM 詳見:http://en.wikipedia.org/wiki/Sha1sum點擊打開鏈接 windows平臺下未使用過。