【问题标题】:Javascript sha1 + HMCASHA1 Crypto JS encryption for .Net code.Net 代码的 Javascript sha1 + HMAC SHA1 Cryptojs 加密
【发布时间】: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


【解决方案1】:

我忘了包含 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;

【讨论】:

    猜你喜欢
    • 2015-08-03
    • 2011-03-03
    • 2017-10-04
    • 2011-01-28
    • 1970-01-01
    • 2012-10-12
    • 2011-10-26
    • 1970-01-01
    相关资源
    最近更新 更多