我几天就遇到了以下问题:我需要在JavaScript中获取一个UTF16-LE编码字符串的MD5哈希值。我有一个示例如何在C#中执行此操作但不知道如何在JavaScript中执行此操作。
示例:
public string GetMD5Hash (string input) {
MD5 md5Hasher = MD5.Create();
byte[] data = md5Hasher.ComputeHash(Encoding.Unicode.GetBytes(input));
StringBuilder sb = new StringBuilder();
for (int i = 0; i < data.Length; i++) {
sb.Append(data[i].ToString("x2"));
}
return sb.ToString();
}
通缉:
var getMD5Hash(input){
....
}
var t = getMD5Hash("1234567z-äbc");
console.log(t) // --> 9e224a41eeefa284df7bb0f26c2913e2
我希望有人可以帮助我: - /
答案 0 :(得分:0)
你去吧
return challenge + "-" + require('crypto').createHash('md5').update(Buffer(challenge+'-'+password, 'UTF-16LE')).digest('hex')
答案 1 :(得分:0)
let md5 = require('md5');
function getMD5_UTF16LE(str){
let bytes = [];
for (let i = 0; i < str.length; ++i) {
let code = str.charCodeAt(i);
bytes = bytes.concat([code & 0xff, code / 256 >>> 0]);
}
return md5(bytes);
}