+-
在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');
解密总是报错,这是什么原因?
你好 你属性名 都带有空格的 你要取单个值的话 建议 前后传值跟取值保持一致!
欢迎采纳