angular - 如何使用我的私钥加密数据并使用 JSEncrypt 使用我的公钥解密?
问题描述
对于家庭作业,我需要用私钥加密数据并用公钥解密。我正在使用 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);
解决方案
回答你的问题有点晚了,但我在这里留下一个参考,供谁希望 JSEncrypt 使用私钥加密并使用公钥解密。
我分叉了,我正在维护这个库:https ://github.com/michaeldisaro/jsencrypt 。
我添加了私钥加密,并修复了填充以与 BouncyCastle 库一起使用。
我可以成功地在 .NETCore 后端解密我在客户端使用私钥加密的内容。
也许它会送到需要它的人手中。
推荐阅读
- sql - 来自 BlitzIndex 的 ASP.NET 成员资格表和边界重复键
- php - 如何将环境参数传递给 Laravel Mix 6?
- c++ - C++ 创建文件时出错(名称基于其他文件名)
- reactjs - 在 React 上下文中设置嵌套数组
- java - 提交表单后重启 Servlet
- python - eBay 价格刮板 - 找到特定字符串或 div 类后停止刮板
- python - Flask 找不到本地静态文件,即使它们存在且指定路径正确
- python - Tensorflow 'Accuracy' 对象在使用 load_model 时没有属性 '_serialized_attributes' 错误
- r - dplyr:计算多个组之间的百分比变化?
- c# - C# Zebra 十六进制压缩算法