node自带的crypto算出的md5和客户端不一致
发布于 10 年前 作者 peiweippww 5703 次浏览 最后一次编辑是 8 年前

当字符串中包含中文时,node中算出的md5码和客户端算出的不一致,网上查了下,是因为两边的md5算法对双字节(即中文字符)的处理方式不一样,不知道node中处理中文字符到底是按字符处理的呢还是按字节处理的,有没有人遇到同样的问题。

解决方式:其实node提供了处理字符串的方式,即在update的第二个参数,可以是utf8按字符处理,也可以是binary按字节处理,默认是按binary处理的。如果md5和别的地方不一样,可以尝试修改这个参数来改变md5底层处理方式。

如果理解有误,还望批评指正~

1 回复

已解决,结贴,嘿嘿

回到顶部