对于家庭作业,我需要用私钥加密数据,用公钥解密。我正在使用JSEncrypt,它正在加密我的数据,但当我尝试解密它时,它返回false。这是一个关于数字签名的分配。
我试着改变它,用我的公钥加密,这实际上是有效的,但我不想这样做。
(我在一个不同的函数中加密,而不是在我解密的同一个函数中)
//encrypting
var encrypt = new JSEncrypt({
default_key_size: 1024,
default_public_exponent:"010001"
});
this.hashedvalue = sha256(this.selectedPost.value);
encrypt.setKey(val.privateKey);
var encoded = encrypt.encrypt(this.hashedvalue);
//decrypting
var decrypt = new JSEncrypt({
default_key_size: 1024,
default_public_exponent:"010001"
});
decrypt.setKey(val.postUser.publicKey);
var hashedvalue = sha256(val.value);
var decoded = decrypt.decrypt(val.encryptedvalue);
//returns false
console.log(decoded);
console.log(hashedvalue);发布于 2020-12-31 07:35:02
现在回答你的问题有点晚了,但我在这里给谁留下了一个参考,谁希望JSEncrypt用私钥加密,用公钥解密。
我创建了一个分支,并且正在维护这个库:https://github.com/michaeldisaro/jsencrypt。
我添加了私钥加密,并修复了填充以使用BouncyCastle库。
我可以成功地在.NETCore后端解密我在客户端使用私钥加密的内容。
也许谁需要它,它就会派上用场。
https://stackoverflow.com/questions/57580076
复制相似问题