js 字符串加密解密
时间: 2023-11-02 13:07:53 浏览: 172
JavaScript字符串加密解密可以使用多种库和算法,其中比较常用的有sjcl、crypto-js和sha256。这些库提供了多种加密算法,如AES、RSA等。下面是这些库的简单介绍和使用方法:
1. sjcl:比较容易上手,简单的用下面的代码就可以进行加密、解密数据。
sjcl.encrypt("password", "data") //加密数据
sjcl.decrypt("password", "encrypted-data") // 解密数据
2. crypto-js:使用时必须将加密的数据转成字符串,解密时必须使用utf8的格式。RSA加密的使用方法如下:
var encrypt = new JSEncrypt();
encrypt.setPublicKey($('#pubkey').val());
var encrypted = encrypt.encrypt($('#input').val());
// Decrypt with the private key...
var decrypt = new JSEncrypt();
decrypt.setPrivateKey($('#privkey').val());
var uncrypted = decrypt.decrypt(encrypted);
3. sha256:使用前需要下载crypto-js.js并引入。使用AES加密的方法如下:
var aseKey = "12345678" //秘钥必须为:8/16/32位
var message = "80018000142";
//加密
var encrypt = CryptoJS.AES.encrypt(message, CryptoJS.enc.Utf8.parse(aseKey), {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).toString();
console.log(encrypt); //VKrZlqykem73x8/T2oCfCQ==
//解密
var decrypt = CryptoJS.AES.decrypt(encrypt, CryptoJS.enc.Utf8.parse(aseKey), {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
}).toString(CryptoJS.enc.Utf8);
console.log(decrypt); //80018000142
阅读全文