首先,定义了一个名为 PUBLIC_KEY 的公钥和一个名为 PRIVATE_KEY 的私钥。然后,通过 JSEncrypt 创建了两个实例 encrypt 和 decrypt,分别用于加密和解密操作。
对于加密操作,调用了 encrypt.setPublicKey() 方法设置公钥,并将数据 data 进行 JSON 序列化后使用 encrypt.encrypt() 方法进行加密,返回加密后的结果。
对于解密操作,调用了 decrypt.setPrivateKey() 方法设置私钥,并将加密后的数据 data 传入 decrypt.decrypt() 方法进行解密,返回解密后的结果。
在实际应用中,通常使用公钥加密敏感信息,然后将加密后的数据发送到服务器端,服务器端使用相应的私钥进行解密,从而保证数据在传输过程中的安全性。
import {JSEncrypt} from 'jsencrypt'
//公钥
let PUBLIC_KEY = 'MIGfMB';
//私钥
let PRIVATE_KEY = 'MIICWwIBQ==';
//使用公钥加密
let encrypt = new JSEncrypt();//使用私钥解密
export function publicKsy(data) {
encrypt.setPublicKey('-----BEGIN PUBLIC KEY-----' + PUBLIC_KEY + '-----END PUBLIC KEY-----');
let result = JSON.stringify(data);
return encrypt.encrypt(result);
}
let decrypt = new JSEncrypt();
export function privateKey(data) {
decrypt.setPrivateKey('-----BEGIN RSA PRIVATE KEY-----'+PRIVATE_KEY+'-----END RSA PRIVATE KEY-----');
return decrypt.decrypt(data);
}