CryptoJS--為 JavaScript 提供各種各樣的加密演算法
CryptoJS (crypto.js) 為 JavaScript 提供了各種各樣的加密演算法。目前已支援的演算法包括:
MD5,SHA-1,SHA-256,AES,MARC4等等;
CryptoJS安裝和使用:
1)安裝
在cmd命令列下輸入安裝命令:npm install crypto-js
2)引用
import CryptoJS from 'crypto-js/crypto-js'
3)加密程式碼實現(以TDES使用為例):
//使用TDES加密
function encryptByDES(message, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key); //加密祕鑰
var ivHex = CryptoJS.enc.Utf8.parse(key); //向量
//TDES加密
var encrypted = CryptoJS.TripleDES.encrypt(CryptoJS.enc.Utf8.parse(message), keyHex, {
iv: ivHex,
mode: CryptoJS.mode.CBC, //CBC模式
padding: CryptoJS.pad.Pkcs7 //padding處理
});
return encrypted.ciphertext.toString(); //加密完成後,轉換成(十六進位制)字串
}
//使用TDES解密
function decryptByDES(ciphertext, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var ivHex = CryptoJS.enc.Utf8.parse(key);
// direct decrypt ciphertext
var decrypted = CryptoJS.TripleDES.decrypt({
ciphertext: CryptoJS.enc.Hex.parse(ciphertext)
}, keyHex, {
iv: ivHex,
mode: CryptoJS.mode.CBC,
padding: CryptoJS.pad.Pkcs7
});
return decrypted.toString(CryptoJS.enc.Utf8);
}