Javascript MD5哈希计算

时间:2017-07-20 14:16:50

标签: javascript c# cryptography md5 cryptographic-hash-function

我一直在研究和试图解决这个问题,现在运气不太幸运,我试图用Java复制一个C#项目,所以重要的是我得到完全相同的结果,到目前为止我失败了。

在C#中:

byte[] hash = new MD5CryptoServiceProvider().ComputeHash(Encoding.UTF8.GetBytes("sometext"));

我设法得到了

Encoding.UTF8.GetBytes("sometext")

要按预期输出,尝试分解步骤,但从那里没有运气,它需要以16个数组的字节返回。究竟C#会怎么做,所以我可以按照预期进一步操作它,这是项目中唯一的打嗝,因为当我将字节强制进入数组时,其他所有内容都会按计算进行计算。

我尝试过使用CryptoJS

CryptoJS.MD5(CryptoJS.enc.Utf16.parse(str));

使用

转换为字节数组
function convertWordArrayToUint8Array(wordArray) {
    var len = wordArray.words.length,
        u8_array = new Uint8Array(len << 2),
        offset = 0, word, i
    ;
    for (i = 0; i < len; i++) {
        var word = wordArray.words[i];                

        u8_array[offset++] = word >> 24;
        u8_array[offset++] = (word >> 16) & 0xff;
        u8_array[offset++] = (word >> 8) & 0xff;
        u8_array[offset++] = word & 0xff;                                              
    }
    return u8_array;
}

如果没有运气,也许上述功能应该归咎于谁知道,我有点迷失,并且花费的时间比我应该多了很多,任何帮助都会很棒!

0 个答案:

没有答案