2013-11-28 54 views
0

我需要把线从vb.net下面翻译成JavaScriptMD5.ComputeHash(Encoding.Unicode.GetBytes(值))为JavaScript

MD5.ComputeHash(Encoding.Unicode.GetBytes(value)) 

我试着使用CryptoJS但我得到不同势的结果,因为我需要通过一个字符串进入,但一个字节数组到VB.net中的MD5函数

任何人都可以帮忙吗?

谢谢

+0

可能重复http://stackoverflow.com/questions/12518830/java -string-getbytesutf8 JavaScript的模拟) – bzlm

回答

0

Encoding.Unicode是为UTF-16LE编码Windows使用一个(误导)的名字。

然而CryptoJS功能,给定的字符串时,它使用(更常见的)编码为字节UTF-8,不UTF-16LE:

散列算法接受CryptoJS的字符串或实例。 lib.WordArray。一个WordArray对象表示一个32位字的数组。传递字符串时,它会自动转换为以UTF-8编码的WordArray。

因此,您需要在将字符串传递给MD5之前从字符串中自行创建一个WordArray。随着新的足够CryptoJS有来为你做的一个功能:

CryptoJS.MD5(CryptoJS.enc.Utf16LE.parse(str)) 
【JAVA String.getBytes(“UTF-8”)的JavaScript模拟(中