vue 3DES加密、解密

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

 

posted @ 2019-02-19 10:56  呼啦啦呜啦啦  阅读(788)  评论(0编辑  收藏  举报