无法读取未定义的属性“ encrypt”

时间:2019-03-16 12:10:12

标签: javascript cryptojs

当我使用crypto-js加密文本时,它会引发错误Cannot read property 'encrypt' of undefined。我的代码有什么问题?

...
const Cookies = require('js-cookie');
const request = require('browser-request');
const CryptoJS = require('crypto');

class OssHelper extends Helper {
    addFetchEvent (urlFunction) {
        const createTime = new Date().getTime();
        const encryptUuid = CryptoJS.AES.encrypt(Cookies.get('CLIPUUID'), createTime);
    };
}
...

2 个答案:

答案 0 :(得分:1)

该错误告诉您“ AES”未定义。 请检查如何使用CryptoJS。看来您没有实例化AES对象。您是否不需要(crypto / aes)并将其分配给AES常数?

const AES = require('crypto-js/aes');
...
const encryptUuid = AES.encrypt

请参见https://www.npmjs.com/package/crypto-js

答案 1 :(得分:0)

您正在使用命令安装crypto-js(当然,如果您使用的是npm)npm安装crypto-js,而不是crypto,(crypto是nodeJS的其他内置模块),因此您必须要求crypto-js而不是crypto代码为var CryptoJS = require('crypto-js')