3DES(或称为Triple DES)是三重数据加密算法(TDEA,Triple Data Encryption Algorithm)块密码的通称。它相当于是对每个数据块应用三次DES加密算法。由于计算机运算能力的增强,原版DES密码的密钥长度变得容易被暴力破解;3DES即是设计用来提供一种相对简单的方法,即通过增加DES的密钥长度来避免类似的攻击,而不是设计一种全新的块密码算法。
如何在VUE-CLI手脚架建立的工程中使用3des加密:
npm install crypto-js --save-dev
import CryptoJS from 'crypto-js'
//DES加密 Pkcs7填充方式 encryptByDES(message, key){ const keyHex = CryptoJS.enc.Utf8.parse(key); const encrypted = CryptoJS.DES.encrypt(message, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return encrypted.toString(); } //DES解密 decryptByDES(ciphertext, key){ const keyHex = CryptoJS.enc.Utf8.parse(key); // direct decrypt ciphertext const decrypted = CryptoJS.DES.decrypt({ ciphertext: CryptoJS.enc.Base64.parse(ciphertext) }, keyHex, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }); return decrypted.toString(CryptoJS.enc.Utf8); } const _key = 'abcdefghijklmn' const _password = '123456' //加密 console.log(this.encryptByDES(_password,_key)) //解密 console.log(this.decryptByDES(_password,_key))