ENOS-ENCRYPT 前端开发加密插件
Installation
基于 NPM,安装方式如下
yarn add enos-encrypt
或者
npm i enos-encrypt
USAGE
引入并创建实例
import encrypt from 'enos-encrypt';
const encrypt = new Encrypt();
使用AES对称加密/解密
// 加密
const textAfterEncrypt = encrypt.AES.encrypt('someText');
// 解密
encrypt.AES.decrypt(textAfterEncrypt); // 解密接受两个参数, 第一个为加密字串, 第二个为 option ={iv, key} 可以传入加密iv 和 key, 可以为空,默认使用创建实例时生成的IV key
使用RAS加密
// 获取公钥
encrypt.RSA.getPublicKey('/app-portal/v1/encrypt/publicKey').then(() => {
encrypt.RSA.encrypt('text'); // 如果encrypt 实例获取过公钥
});
// 加密, 如果实例获取过公钥,将会使用实例 config 中的公钥,无需异步获取
encrypt.RSA.encrypt('text');
API
获取配置信息
encrypt.config
// 返回如下
{
iv: 'xxxx',
aesKey: 'xxxxx',
publicKeyId: 'xxxx',
publicKey: 'xxxx'
}
AES加密
encrypt.AES.encrypt('str') // 接受一个参数,需要加密的字符串
AES 解密
encrypt.AES.decrypt(encryptStr, options = {iv,key}) // 两个参数, 第一个解密密文, 第二个是可选项, 不传会使用实例加密时的iv key
RSA 获取公钥
走服务端获取
encrypt.RSA.getPublicKey('/app-portal/v1/encrypt/publicKey');
// 返回Promise
走本地获取
encrypt.RSA.setPublicKey('${publicKey}', '${publicKeyId}');
RSA 加密
获取公钥以后,使用公钥加密
encrypt.RSA.encrypt(str);