2013-11-28 57 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模擬(中