個(gè)人經(jīng)驗(yàn),這三個(gè)加密庫的組合是最佳解決方案
crypto-js、jsrsasign、jsencrypt文章來源地址http://www.zghlxwxcb.cn/news/detail-513015.html
crypto-js 進(jìn)行 AES 對(duì)稱加密
npm i crypto-js
import CryptoJS from 'crypto-js'
// 加密
var ciphertext = CryptoJS.AES.encrypt('message', 'key').toString();
// 解密
var bytes = CryptoJS.AES.decrypt(ciphertext, 'key');
var originalText = bytes.toString(CryptoJS.enc.Utf8);
console.log(originalText); // 輸出 'message'
jsrsasign 生成 RSA 密鑰對(duì)
npm i jsrsasign
import jsrsasign from 'jsrsasign'
var rsaKeypair = jsrsasign.KEYUTIL.generateKeypair('RSA',1024);
// 獲取公鑰
let PUBLIC = jsrsasign.KEYUTIL.getPEM(rsaKeypair.prvKeyObj);
// 獲取私鑰
let PRIVATE = jsrsasign.KEYUTIL.getPEM(rsaKeypair.prvKeyObj,'PKCS8PRV');
jsencrypt 進(jìn)行 RSA 加解密
npm i jsencrypt
import JSEncrypt from 'jsencrypt'
let PUBLIC = '' // 公鑰
let PRIVATE = '' // 密鑰
// 加密
const encrypt = new JSEncrypt()
encrypt.setPublicKey(PUBLIC)
let cipher = encrypt.encrypt('message')
console.log(cipher)
// 解密
const decrypt = new JSEncrypt()
decrypt.setPrivateKey(PRIVATE)
console.log(decrypt.decrypt(cipher)) // 輸出 'message'
文章來源:http://www.zghlxwxcb.cn/news/detail-513015.html
到了這里,關(guān)于前端js加密庫的簡單使用——crypto-js、jsrsasign、jsencrypt的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!