问题为什么crypto.createHash在新版本中返回不同的输出?
我有一个使用crypto.createHash
生成md5
散列的node.js模块。
最近我留意到,crypto
模块产生的散列是在新的版本有所不同:
代码
require('crypto').createHash('md5').update('¥').digest('hex')
Node.js的v0.10.0
输出:ab3af8566ddd20d7efc9b314abe90755
个Node.js的V6.1.0
输出:07625e142e4ac5961de57472657a88c1
问题
我想知道是什么原因,在新的版本,我该怎么解决这个问题?
更新
在GitHub上类似的问题:
是这些编码(二进制/ utf-8)是否按字符内字节顺序不同? –
@vp_arth没有太多字节_order_,但它们以字节表示的方式不同。我认为'binary'是拉丁-1编码(它可以表示的字符数量有限,我猜这是为什么默认为Node v6更改为'utf-8'的原因)。 – robertklep