一:安装依赖
npm install --save jsencrypt
二:封装
// 引入
import JSEncrypt from 'jsencrypt/bin/jsencrypt.min';
// 密钥对生成 http://web.chacuo.net/netrsakeypair
const publicKey =
'MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCMBvofb/KTFPuUyQ0OLJG18Q3BvRRZlVHDN/OsuaHIqDOFeHfyrdO8nU2vCxAwyl2mZWUGgnZSy6iEj0zntMX7qrBB9evSzXl0CifezGmSIEJpfLHN5pwOSFxCJUrnNYN0yjurDGCPi8VnOWiTmg5l/vmahulh0rBqz2IJlL9NuwIDAQAB';
// 对应的私钥也要放在后端项目的application-basic.yml文件下
const privateKey =
'MIICdgIBADANBgkqhkiG9w0BAQEFAASCAmAwggJcAgEAAoGBAIwG+h9v8pMU+5TJDQ4skbXxDcG9FFmVUcM386y5ocioM4V4d/Kt07ydTa8LEDDKXaZlZQaCdlLLqISPTOe0xfuqsEH169LNeXQKJ97MaZIgQml8sc3mnA5IXEIlSuc1g3TKO6sMYI+LxWc5aJOaDmX++ZqG6WHSsGrPYgmUv027AgMBAAECgYAVgmDbgWO+qiN3GGcT/U6opw2Y7AV7OU+k8CxTJPSwEP5RC09JjOAQgg1TzRxAkmVOURbyqAmq8DPDoQuMMB2VL6VwnsUYXoMcezkAQPny1uOlmTGcuLxl6aYLNwAVWw3nm7eNtBJDyTm/wk+uXYckxxwCRWW2s61Mhk5ytfSq6QJBAM3NMvDA9rt8wvqKGkdNlIhd/bc5d9b7nlCit/X3EfERZJmLFNW420ZxD8PAlM2uJU9X9Yrt5MZLmHzK9XG9Zn8CQQCuLqd3JnTwDT8aNUpoUV8/SHlhWSlfUfHv8cSlfchsAebZ63iY94GGuIjkq7dceQNrb0I7EtsTxLYoGRMO9ZLFAkBEiFCuW5POW32ScOrPU8ZiouoaWcjOjnvp3kXkYqJW5LPbbbVCdoyOqJfXWAo1dAh4o5Hg8dd9MS9WXz/c4HWBAkBW/HOjnG//xg3Cb+Sl7iVL/Eyp4hY4RTs24h2brBJgZh68q8zBT7G+7v9me58JrmGX0KtZxxPjbnSt17/d06QlAkEAjKilCUMZX5QObmgbCKLD3g5KBcOX7nkcOmpYdA1tsdt5AP5VdcvgtFm2Izvmcl1lwuLmljS9n6zz1/t9WNaW3w==';
// 加密 使用公钥进行加密
export function encrypt(txt) {
const encryptor = new JSEncrypt();
encryptor.setPublicKey(publicKey); // 设置公钥
return encryptor.encrypt(txt); // 对数据进行加密
}
// 解密 使用私钥进行解密
export function decrypt(txt) {
const encryptor = new JSEncrypt();
encryptor.setPrivateKey(privateKey); // 设置私钥
return encryptor.decrypt(txt); // 对数据进行解密
}
三:使用
vue组件解构出来后,直接调用 加密/解密 的方法。