vue项⽬中使⽤des加密解密
前端有时把数据传给后端,也是需要加密的,这⾥介绍下des加密:
DES 加密算法为最为常见的分组加密算法。其主要思想在于数据位的置换与移位过程,通过16次的迭代加密与最终的逆置换得出最终的密⽂。DES 的解密⽅式只需按照加密的逆过程求解即可。由于DES 加密过程的算法是公开的,所以密钥K的保密就显得尤为重要,只有发送⽅与接收⽅采⽤相同的密钥进⾏加密解密才能获取明⽂数据。
在vue中使⽤DES加密解密需要使⽤crypto-js插件,⾸先下载 npm install crypto-js
加密⽅法如下:
/*
* message:需要加密的字符串,对象加密需要转成json字符串
* key:密钥(加密解密密钥同⼀个)
*/
encryptDes (message, key = 'xxxxxxxxxxxxxxxxxxxxx') {
const keyHex = Utf8.parse(key)
const option = { mode: de.ECB, padding: cryptoJs.pad.Pkcs7 }
const encrypted = pt(message, keyHex, option)
return String() // 返回hex格式密⽂,如需返回base64格式:String()
}
解密⽅法如下:
/*
* message:需要解密的字符串,
* key:密钥(加密解密密钥同⼀个)
*/
decryptDes (message, key = 'xxxxxxxxxxxxxx') {
const keyHex = Utf8.parse(key)
const decrypted = cryptoJs.DES.decrypt(
{
ciphertext: Hex.parse(message)vue json字符串转数组
},// 若message是base64格式,则⽆需转16进制hex,直接传⼊message即可
keyHex,
{
mode: de.ECB,
padding: cryptoJs.pad.Pkcs7
}
)
Utf8)
}
扩展:
此外常⽤的还有MD5加密,MD5将任意长度的“字节串”变换成⼀个128bit的⼤整数,并且它是⼀个不可逆的字符串变换算法。
⼀般登录的⽤户密码是⽤md5加密,系统中保存的也是加密后的⽤户密码,系统并不知道具体的⽤户密码是什么。
MD5的典型应⽤是对⼀段Message(字节串)产⽣fingerprint(指纹),以防⽌被“篡改”。举个例⼦,你将⼀段话写在⼀个叫 ⽂件中,并对这个产⽣⼀个MD5的值并记录在案,然后你可以传播这个⽂件给别⼈,别⼈如果修改了⽂件中的任何内容,你对这个⽂件重新计算MD5时就会发现。如果再有⼀个第三⽅的认证机构,⽤MD5还可以防⽌⽂件作者的“抵赖”,这就是所谓的数字签名应⽤。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论