对于家庭作业,我需要用私钥加密数据并用公钥解密。我正在使用 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);