这应该很容易解决......
我的 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/