react native rsa加密
最近用react native开发客户端,项目采用RSA非对称加密(项目负责人说银行都采用RSA加密咱也用)。尝试了好多库,都有各种不同问题(node-rsa(可能是"react-native": "0.57.4"版本与之不匹配,故放弃),jsencrypt,react-native-rsa-native)。最终采用react-native-rsa:
第一步引入react-native-rsa库:
npm install react-native-rsa --save
npm install buffer --save //根据项目需要进行选择性添加,如果服务器返回的就是hex格式不用添加,直接加密就可
第二步:
import RSAKey from ‘react-native-rsa’;
import {Buffer} from ‘buffer’; //根据项目需要进行选择性添加,如果服务器返回的就是hex格式不用添加
第三步:
CloudInterface.testRSAClient((data) => {
let publicKey = data.modulus;
//因为react-native-rsa只支持rsa加密中的modulus,不支持publicKey。如果必须用publicKey,建议另寻它库。
var b = new Buffer(publicKey , 'base64');
//因为服务器传过来的是base64格式编码
var