gpt4 book ai didi

javascript - 在 meteor 中使用 Crypto.js

转载 作者:行者123 更新时间:2023-11-29 17:15:57 26 4
gpt4 key购买 nike

我正在尝试在 meteor js 应用程序(meteor 版本 0.6.4.1)中包含一些 crypto.js 库。

当我将内容复制并粘贴到 server/main.js 文件时,它工作正常,但这使得它非常不可读。

当我将库放在服务器目录中的单独文件中时(我也尝试将它们放在 lib 目录中),我收到错误 ReferenceError: CryptoJS is not defined

server/main.js 的要点:

Meteor.methods({
encrypt:function(bundleID){
return CryptoJS.HmacSHA256(string, 'something');
}
});

我还尝试更改 hmac-sha256.js 文件的第一行

var CryptoJS=CryptoJS||function(h,s){...

到:

CryptoJS=CryptoJS||function(h,s){...

使其成为全局性的,但这也没有奏效。如何正确包含此库?

最佳答案

在您的应用程序目录中创建文件夹“packages/cryptojs”并将文件放在那里:

  • hmac-sha256.js
  • enc-base64-min.js
  • package.js

packages/cryptojs/package.js:

Package.describe({
summary: "CryptoJS"
});

Package.on_use(function (api, where) {
api.add_files(['hmac-sha256.js'], ['client','server']);
api.add_files(['enc-base64-min.js'], ['client','server']);
});

您需要通过更改第 7 行的开头来修改 hmac-sha256.js:

var CryptoJS=CryptoJS||function(h,s){

到:

CryptoJS=function(h,s){

之后就可以使用了:

var hash = CryptoJS.HmacSHA256("Message", "secret");
var hashInBase64 = CryptoJS.enc.Base64.stringify(hash);
console.log(hashInBase64)

Example source

关于javascript - 在 meteor 中使用 Crypto.js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17891212/

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