-
qq_日出与幻想_0
菜鸟,几经探索解觉了这个问题首先根据 jsencrypt 的官方文档,是不支持使用 公钥对数据解密的,最好的方法依然是换个支持的库百度搜来搜去发现,其实nodejs 里面的 node-rsa 模块是支持这个需求的。 所以就试试了 ,居然跑通了 npm install node-rsa main.js 中 引入相关组件 let NodeRSA = require('node-rsa');
Vue.prototype.$nodersa = NodeRSA;在需要解密的地方这样调用let data = this.GetUrlParam("data"); // 加密后的数据,base64 编码
let key = new this.$nodersa(this.$global.rsa_pubkey); // 设置你的公钥
console.log(key.decryptPublic(data,"utf-8")); // 解密数据
-
慕前端4074691
jsencrypt没有公钥解密,只能前端公钥加密后台私钥解密。如果想要实现双向加密,就要使用两套密钥。前台向后端发送数据时,使用第一套公钥加密,后台用第一套私钥解密。后台向前台发送数据时,后台使用第二套公钥加密,前台使用第二套私钥解密。
-
qq_沐晓清枫_0
楼主你好,你的公钥解密的问题解决了吗?现在我也和你遇到同样的问题,希望得到帮助,谢谢!
-
Long_baby
你的这个问题解决了吗
-
幕布斯6125053
1、 RSADecrypt //var a = this.doPrivate(d); var a = this.doPublic(d); 2、pkcs1unpad2 //return null 就实现了js就可以使用公钥解密,java端私钥加密的文本