MD5是最常用的一个信息摘要算法,虽然现在慢慢被SHA1算法替代,但还是应用广泛。
MD5的计算结果是16个字节。
int MD5_Init(MD5_CTX *c);
初始化MD5 Context参数;
c: MD5 context;
返回值: 1: 成功, 0: 失败;
int MD5_Update(MD5_CTX *c, const void *data, size_t len);
循环调用加入不同数据,计算MD5数值;
c: 是MD5的context;
data: 数据;
len: 长度;
返回值: 1: 成功, 0: 失败;
int MD5_Final(unsigned char *md, MD5_CTX *c);
取得最终MD5值;
md: MD5数值;
c: MD5 context;
返回值: 1: 成功, 0: 失败;
unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md);
MD5_Init,MD5_Update, MD5_Final 计算的组合函数,用户可以直接调用此函数计算出MD5数值;
d: 数据;
n: 长度;
md: MD5数值;
返回值:MD5数值保存地址;
void MD5_Transform(MD5_CTX *c, const unsigned char *b);
计算MD5时的中间函数,用户不需要使用此函数;