1. 程式人生 > >CryptoJS--為 JavaScript 提供各種各樣的加密演算法

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);

}