gpt4 book ai didi

javascript - 如何在 vanilla javascript 或基于 Node 的 javascript 项目中导入 crypto.js

转载 作者:行者123 更新时间:2023-12-05 00:56:07 26 4
gpt4 key购买 nike

我已经(成功地)做了一个

 npm install --save crypto-js

在当前项目中。它显示在 package.json:

$grep crypto package.json
"crypto-js": "^4.0.0",

然后在本地项目的 javascript 文件中,我尝试使用它,但没有弄清楚。已尝试以下方法:

var CryptoJS = require("crypto-js");

在将aes.js下载到同一个本地目录后,我也尝试过使用import的方式:

 <script type="text/javascript" src="aes.js"></script>

这会导致:

Uncaught ReferenceError: require is not definedat my-project-worker.js:1

Uncaught ReferenceError: CryptoJS is not defined
at encrypt (audio-clips-worker.js:168)
at audio-clips-worker.js:235
at Set.forEach (<anonymous>)
at onmessage (audio-clips-worker.js:229)

最后我尝试留下一个绝对网址:

<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

这给出了相同的“未定义 CryptoJS”错误。这里有哪些工作选项 - 缺少哪些步骤或需要以不同的方式完成?

最佳答案

为我工作。也许您的包裹包含不正确:

https://jsfiddle.net/rLt7haxc/6/

var message = "café";
var key = "something";

var encrypted = CryptoJS.AES.encrypt(message, key);
//equivalent to CryptoJS.AES.encrypt(CryptoJS.enc.Utf8.parse(message), key);
var decrypted = CryptoJS.AES.decrypt(encrypted, key);

$('#1').text("Encrypted: "+encrypted);
$('#2').text("Decrypted: "+decrypted.toString(CryptoJS.enc.Utf8));
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="1"></div>
<div id="2"></div>

npm 项目的 CodeSandbox 演示:
https://codesandbox.io/s/prod-glade-6j2rw

var CryptoJS = require("crypto-js/core");
CryptoJS.AES = require("crypto-js/aes");
var encrypted = CryptoJS.AES.encrypt(message, key);
var decrypted = CryptoJS.AES.decrypt(encrypted, key);
console.log(encrypted, decrypted);

有一个 CryptoES 项目更符合模块标准。

关于javascript - 如何在 vanilla javascript 或基于 Node 的 javascript 项目中导入 crypto.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62905663/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com