JavaScript : CryptoJS object missing SHA1 method

标签 javascript sha1 cryptojs

这应该很容易解决......

我的 CryptoJS 对象存在,但它没有 SHA1 方法。

我需要做什么才能使这项工作成功?那里有很多很多样本。当然,我的不行……

.enc.Hex.stringify 方法确实存在...

感谢任何帮助。

<!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        link href="blaw blaw blaw" rel="stylesheet" >
    </head>
    <body>
        content blaw blaw blaw

       <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
       <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
       <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/core.js"></script>
       <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/enc-hex.js"></script>
       <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/hmac-sha1.js"></script>

       <script type="text/javascript">

           var StringToSign = "blaw blaw blaw";
           var hash = CryptoJS.SHA1(StringToSign); // <--- No SHA1 method!

           var result = CryptoJS.enc.Hex.stringify(hash);
           $(".content .z-value").html(result);
        </script>

谢谢

最佳答案

在加载 hmac-sha1.js 之前,您必须包含 sha1.js,因为它不会自动加载(至少在浏览器中不会)。 hmac.js 也是如此。此外,enc-hex.js 已包含在 core.js 中。

示例代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title></title>
</head>
<body>
   <div class="content"></div>

   <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
   <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/core.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/hmac.js"></script>
   <script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.9-1/sha1.js"></script>

   <script type="text/javascript">

       var StringToSign = "blaw blaw blaw";
       var hash = CryptoJS.SHA1(StringToSign);

       var result = CryptoJS.enc.Hex.stringify(hash);
       $(".content").html(result);
    </script>
  </body>
</html>

关于JavaScript : CryptoJS object missing SHA1 method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45643078/

相关文章:

javascript - 在 Javascript 中添加注释/注释的示例代码

javascript - 如何 'get' 匹配 2 个属性/值对的 dom 元素的所有实例?

javascript - 如何根据使用 Angular2 发出的 post 请求的响应呈现输出

javascript - 使用 DomSanitizer 时 Angular2 停止(单击)工作

javascript - 如何在 CryptoJS(nodejs/web 浏览器)中解密 AES 128

mysql - SHA1 和作为主键?

java - Java AES/CBC/PKCS5Padding 的 C# 加密/解密

android - 适用于 Android 的 Google Maps API,获取 SHA1 证书而不是 MD5

javascript - CryptoJS 解密对象

javascript - 如何使用 CryptoJS AES 解密消息。我有一个有效的 Ruby 示例