前言:
我们以一个wrold文档为例,新建一个xx.docx文件,然后在Linux下可以使用命令md5sum xx.docx计算md5值 -》835741aba850778a5b06bfd57f55c98c 。然后我在复制了一下这个文件,并将文件名改为yy.docx,然后重复上面的命令去计算这个新文件的md5值,然后得到的是相同的结果,文件的md5值是我在我们一个项目“文件传输”中用到的,一开始用这个只知道是用来判断两个文件的内容是否相同,用的是老师给的一个借口,项目写完已经很久了,这个文件的md5值是最近在面试的时候被面试官问到了,所以现在回过来看一看这个,其实这个是用来做加密的,我也不太了解,是在网上看的,关于机密什么的就先不说了,先来看看他是怎么在项目中用代码实现的把!
(一)函数介绍
//打开/usr/include/openssl/md5.h这个文件我们可以看到一些函数
// 初始化 MD5 Contex, 成功返回1,失败返回0
int MD5_Init(MD5_CTX *c);
// 循环调用此函数,可以将不同的数据加在一起计算MD5,成功返回1,失败返回0
int MD5_Update(MD5_CTX *c, const void *data, size_t len);
// 输出MD5结果数据,成功返回1,失败返回0
int MD5_Final(unsigned char *md, MD5_CTX *c);
// MD5_Init,MD5_Update,MD5_Final三个函数的组合,