前端RAS 加密(RAS for JavaScript)
引入外部资源
https://cdnjs.cloudflare.com/ajax/libs/jsencrypt/3.2.1/jsencrypt.min.js
或者直接引入js资源包(下载好文件):https://github.com/travist/jsencrypt/blob/master/bin/jsencrypt.min.js
前后端统一好公钥私钥
const publicKey = '公钥'
const privateKey = '私钥'
调用刚才引入的js文件中的JSEncrypt类进行创建并进行加密和解密
// 加密
function encrypt() {
const crypt = new JSEncrypt({ default_key_size: 1024 })
// crypt.setPrivateKey(privateKey)
crypt.setPublicKey(publicKey)
enStr = crypt.encrypt(str)
console.log(enStr)
}
// 解密
function decrypt(params) {
const crypt = new JSEncrypt({ default_key_size: 1024 })
crypt.setPrivateKey(privateKey)
// crypt.setPublicKey(publicKey)
console.log(crypt.decrypt(enStr))
}
完整代码
<button onclick="encrypt()">加密</button>
<button onclick="decrypt()">解密</button>
<script src="../bin/jsencrypt.min.js"></script>
<script type="text/javascript">
const publicKey = ''
const privateKey = ''
const str = '这只是测试'
let enStr = ''
// 加密
function encrypt() {
// 设置key值大小
const crypt = new JSEncrypt({ default_key_size: 1024 })
// crypt.setPrivateKey(privateKey)
crypt.setPublicKey(publicKey)
enStr = crypt.encrypt(str)
console.log(enStr)
}
// 解密
function decrypt(params) {
const crypt = new JSEncrypt({ default_key_size: 1024 })
crypt.setPrivateKey(privateKey)
// crypt.setPublicKey(publicKey)
console.log(crypt.decrypt(enStr))
}
</script>