【发布时间】:2017-12-29 20:04:53
【问题描述】:
以下是使用 .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 使用 Google 代码进行加密。
var hash = CryptoJS.SHA1(keyString);
var test = CryptoJS.enc.Base64.Stringify(hash);
但我将 CryptoJS.enc 设置为未定义。请帮帮我。
【问题讨论】:
-
请发布一个最小、完整和可验证的示例。
-
CryptoJS.enc不太可能未定义。您可能忘记包含 CryptoJS 库或其相关部分。
标签: javascript .net sha1 cryptojs hmacsha1