md5哈希算法 c语言,MD5哈希算法(C语言实现)

MD5哈希算法(C语言实现)

主要是做个记录,害怕以后代码丢了,先放到这里了。

MD5 暂时就不进行介绍了,最基础的哈希算法,网上到处都是。

转载请注明出处:https://www.cnblogs.com/wangyanzhong123/p/13784318.html

说明

这个版本用了很多位运算,也没有添加注释,所以可能阅读起来会有一些困难。但是可以保证的是结果一定是正确的,并且速度也是经过优化的,应该会很快。

源代码

#include

#include

#include

#include

#include

#define LEFTSHIFT(x,c) (((x) << (c)) | ((x) >> (32-(c))))

const uint32_t k[64] = {

0xd76aa478, 0xe8c7b756, 0x242070db, 0xc1bdceee ,

0xf57c0faf, 0x4787c62a, 0xa8304613, 0xfd469501 ,

0x698098d8, 0x8b44f7af, 0xffff5bb1, 0x895cd7be ,

0x6b901122, 0xfd987193, 0xa679438e, 0x49b40821 ,

0xf61e2562, 0xc040b340, 0x265e5a51, 0xe9b6c7aa ,

0xd62f105d, 0x02441453, 0xd8a1e681, 0xe7d3fbc8 ,

0x21e1cde6, 0xc33707d6, 0xf4d50d87, 0x455a14ed ,

0xa9e3e905, 0xfcefa3f8, 0x676f02d9, 0x8d2a4c8a ,

0xfffa3942, 0x8771f681, 0x6d9d6122, 0xfde5380c ,

0xa4beea44, 0x4bdecfa9, 0xf6bb4b60, 0xbebfbc70 ,

0x289b7ec6, 0xeaa127fa, 0xd4ef3085, 0x04881d05 ,

0xd9d4d039, 0xe6db99e5, 0x1fa27cf8, 0xc4ac5665 ,

0xf4292244, 0x432aff97, 0xab9423a7, 0xfc93a039 ,

你可能感兴趣的:(md5哈希算法,c语言)