
md5
pengpengzhou
主要学习语言Java,Nodejs,Go
展开
-
Go语言:md5计算方法的效率研究
研究了一下Go的md5计算方法,目前来看效率最高的写法是调用md5.Sum()函数返回16字节checksum,然后把每个字节的高4位和低4位分别映射成16进制字符存到两个字节里,得到32字节,再转成字符串。FastMD5较其它算法效率提高了至少46%以上。 const hextable = "0123456789abcdef" //作者: pengpengzhou func FastMD5(str string) string { src := md5.Sum([]byte(str)) va.原创 2020-05-22 15:49:11 · 1478 阅读 · 0 评论 -
Nodejs版本升级导致UTF8中文字符串的md5取值前后不一致的问题
Nodejs的版本从4.x升级到8.x的过程中遇到一个问题:含有中文的UTF8字符串的md5取值在升级前后不一致。研究了一下,发现Nodejs从6.x开始对crypto做了一个改进,直接支持UTF8二进制,不用单独再处理中文了,“buf.toString("binary")”这一句已经不需要了,加了反而会错。 在5.x及以下版本,用下面这个函数md5中文是对的: getMD5Chn = function(str) { var buf, shasum; buf = new Buffer(原创 2020-05-22 13:57:53 · 466 阅读 · 0 评论