为什么rsa解密是总是报错?

image
在RN中使用了node-forge依赖进行rsa加密,本地加解密正常,但是在服务器上无法拿到数据。
RN部分代码:

                            try{
                            const encrypted = forge.pki.publicKeyFromPem(publicKey).encrypt(this.state.realcertificate,'RSA-OAEP');
                            console.log('密文:', encrypted); 
                            fetch(`http://81.70.195.37:8080/updatereal`,{
                                method:'post',
                                headers: {
                                    'Content-Type': 'application/x-www-form-urlencoded;'
                                },
                                body:`userid = ${this.props.info.userid}&realname = 123 &realcertificate = ${encrypted}`
                            })
                        }catch(e){
                            console.log(e);
                        }

服务器部分代码:

req.on('end',() => {
    let dataobj = querystring.parse(data);
    console.log(typeof dataobj);
    console.log(dataobj);
    console.log(typeof JSON.stringify(dataobj));
    console.log(JSON.stringify(dataobj));
    console.log(typeof JSON.parse(JSON.stringify(dataobj)));
    console.log(JSON.parse(JSON.stringify(dataobj)));
    console.log(JSON.parse(JSON.stringify(dataobj)).realname);
    console.log(JSON.parse(JSON.stringify(dataobj)).realcertificate);
    console.log(JSON.parse(JSON.stringify(dataobj))['realcertificate ']);
    const decryted = forge.pki.privateKeyFromPem(privateKey).decrypt(JSON.parse(JSON.stringify(dataobj))['realcertificate '],'RSA-OAEP');
    

解密总是报错,这是什么原因?

阅读 3.5k
1 个回答

image.png

你好 你属性名 都带有空格的 你要取单个值的话 建议 前后传值跟取值保持一致!

欢迎采纳

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题