des vue 加密解密_vue项目中使用des加密解密

前端有时把数据传给后端,也是需要加密的,这里介绍下des加密:

DES 加密算法为最为常见的分组加密算法。其主要思想在于数据位的置换与移位过程,通过16次的迭代加密与最终的逆置换得出最终的密文。DES 的解密方式只需按照加密的逆过程求解即可。由于DES 加密过程的算法是公开的,所以密钥K的保密就显得尤为重要,只有发送方与接收方采用相同的密钥进行加密解密才能获取明文数据。

在vue中使用DES加密解密需要使用crypto-js插件,首先下载  npm install crypto-js

加密方法如下:

/*

* message:需要加密的字符串,

* key: 密钥(加密解密密钥同一个)

*/

encryptDes (message, key = 'xxxxxxxxxxxxxxxxxxxxx') {

const keyHex = cryptoJs.enc.Utf8.parse(key)

const option = { mode: cryptoJs.mode.ECB, padding: cryptoJs.pad.Pkcs7 }

const encrypted = cryptoJs.DES.encrypt(message, keyHex, option)

return encrypted.ciphertext.toString() // 返回hex格式密文,如需返回base64格式:encrypted.toString()

}

解密方法如下:

/*

* message:需要解密的字符串,

* key: 密钥(加密解密密钥同一个)

*/

decryptDes (message, key = 'xxxxxxxxxxxxxx') {

const keyHex = cryptoJs.enc.Utf8.parse(key)

const decrypted = cryptoJs.DES.decrypt(

{

ciphertext: cryptoJs.enc.Hex.parse(message)

},// 若message是base64格式,则无需转16进制hex,直接传入message即可

keyHex,

{

mode: cryptoJs.mode.ECB,

padding: cryptoJs.pad.Pkcs7

}

)

return decrypted.toString(cryptoJs.enc.Utf8)

}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值