在文件传输过程中可能会造成文件损坏或被他人恶意更改,为了了解文件是否出现了上述情况,我们常为文件生成“文件校验码”
常用的有:
一. 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值。
$