npm install crypto-js
要用AES
算法加密氧猬,首先我們要引入crypto-js
撇寞,crypto-js
是一個純javascript
寫的加密算法類庫 祭饭,可以非常方便地在javascript
進(jìn)行MD5
、SHA1
游沿、SHA2
乡小、SHA3
、RIPEMD-160
哈希散列奢啥,進(jìn)行AES
秸仙、DES
、Rabbit
桩盲、RC4
筋栋、Triple DES
加解密
demo1
// 加載核心加密庫
var CryptoJS = require("crypto-js");
// 加載des算法
var tripledes = require("crypto-js/tripledes");
// 開始加密,并且返回密文
var ciphertext = tripledes.encrypt("fuckyou", '123').toString();
// 解密
var plaintext = tripledes.decrypt(ciphertext, '123').toString(CryptoJS.enc.Utf8)
// 輸出密文和解密后的內(nèi)容
console.log(ciphertext, plaintext)
demo2 DES加密
// 加載核心加密庫
var CryptoJS = require("crypto-js");
function encrypt (message, key) {
var keyHex = CryptoJS.enc.Utf8.parse(key);
var encrypted = CryptoJS.DES.encrypt(message, keyHex, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
});
return {
key: keyHex,
value: encrypted.toString()
}
}
function decrypt (message, key) {
var plaintext = CryptoJS.DES.decrypt(message, key, {
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7
})
return plaintext.toString(CryptoJS.enc.Utf8)
}
var a = encrypt('mssage123', '123');
var b = decrypt(a.value, a.key);
console.log(a.value.length)
demo3 AES加密
const CryptoJS = require('crypto-js'); //引用AES源碼js
const key = CryptoJS.enc.Utf8.parse("1234123412ABCDEF"); //十六位十六進(jìn)制數(shù)作為密鑰
const iv = CryptoJS.enc.Utf8.parse('ABCDEF1234123412'); //十六位十六進(jìn)制數(shù)作為密鑰偏移量
//解密方法
function Decrypt(word) {
let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
let decrypt = CryptoJS.AES.decrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
return decryptedStr.toString();
}
//加密方法
function Encrypt(word) {
let srcs = CryptoJS.enc.Utf8.parse(word);
let encrypted = CryptoJS.AES.encrypt(srcs, key, { iv: iv, mode: CryptoJS.mode.CBC, padding: CryptoJS.pad.Pkcs7 });
return encrypted.ciphertext.toString().toUpperCase();
}
export default {
Decrypt ,
Encrypt
}
其他
CryptoJS.MD5("Message")
CryptoJS.SHA1("Message")
CryptoJS.SHA256("Message")
var hash1 = CryptoJS.HmacMD5("Message", "Secret Passphrase");
var hash2 = CryptoJS.HmacSHA1("Message", "Secret Passphrase");
var hash3 = CryptoJS.HmacSHA256("Message", "Secret Passphrase");
var hash4 = CryptoJS.HmacSHA512("Message", "Secret Passphrase");