用于.Net代码的Javascript sha1 + HMCASHA1加密JS加密

时间:2017-07-24 09:39:12

标签: javascript .net sha1 cryptojs hmacsha1

以下是如何在后端使用.Net上进行加密。

public static string ShaEncrypt(string input,string keyStr) {

           byte[] key = Encoding.ASCII.GetBytes(keyStr);
           HMACSHA1 myhmacsha1 = new HMACSHA1(key);
           byte[] byteArray = Encoding.ASCII.GetBytes(input);
           MemoryStream stream = new MemoryStream(byteArray);
           return myhmacsha1.ComputeHash(stream).Aggregate("", (s, e) => s + String.Format("{0:x2}", e), s => s);
}

同样我需要在前端Javascript中执行此操作。 我尝试使用sha1使用谷歌代码加密。

var hash = CryptoJS.SHA1(keyString); var test = CryptoJS.enc.Base64.Stringify(hash);

但我将CryptoJS.enc视为未定义。请帮帮我。

1 个答案:

答案 0 :(得分:0)

我忘了包含 core-min.js,enc-base64-min.js

以下是转换哈希值的Javascript代码。

var key = CryptoJS.enc.Utf8.parse(apiSecret);                                       
var prehash = CryptoJS.enc.Utf8.parse(apiKey);                                       
var hash = CryptoJS.HmacSHA1(prehash, key);   
return hash;