Javascript SHA256未定义
我在尝试CryptoJS库时遇到了一个问题,即导入的哈希函数在类中不可见。这是我的密码:Javascript SHA256未定义,javascript,node.js,aes,sha256,cryptojs,Javascript,Node.js,Aes,Sha256,Cryptojs,我在尝试CryptoJS库时遇到了一个问题,即导入的哈希函数在类中不可见。这是我的密码: CryptoJS = require('crypto-js'); SHA256 = require('crypto-js/sha256'); class trCrypt { constructor(input,key) { this.input = input; this.key = SHA512(key).toString(); } encrypt(){ this.step1 = C
CryptoJS = require('crypto-js');
SHA256 = require('crypto-js/sha256');
class trCrypt {
constructor(input,key) {
this.input = input;
this.key = SHA512(key).toString();
}
encrypt(){
this.step1 = CryptoJS.AES.encrypt(this.input,this.key);
return this.step1.toString()
}
decrypt(){
const bytes = CryptoJS.AES.decrypt(this.step1);
this.dec1 = bytes.toString(CryptoJS.enc.Utf8);
return this.dec1
}
}
a = new trCrypt('hello','world');
console.log(a.encrypt());
console.log(a.decrypt());
[已解决]谢谢你的回答 在代码中导入了CryptoJs模块和SHA256函数,但没有导入SHA512函数 尝试添加:
SHA512 = require('crypto-js/sha512');
在代码中的脚本之上,您已经导入了CryptoJs模块和SHA256函数,但还没有导入SHA512函数 尝试添加:
SHA512 = require('crypto-js/sha512');
在脚本顶部,定义了SHA256,但不是SHA512,您正在导入
SHA256
,而是使用SHA512
。此外,您不应该全局声明变量。(在您的情况下,最好使用var
或const
)这里真正的问题是,为什么您认为SHA256模块可以处理SHA512加密?请记住,做一件事,但要做好……定义了SHA256,但不是SHA512您正在导入的是SHA256
,而是使用SHA512
。此外,您不应该全局声明变量。(在您的情况下,最好使用var
或const
)这里真正的问题是,为什么您认为SHA256模块可以处理SHA512加密?记住,做一件事,但要做好。。。