des的应用

在前后端分离的今天,前后端数据交互显得尤为重要,数据交互的安全更是重中之重,所以前后端开发者们就会协商使用数据加密的方法来保证数据的安全,防止被不法分子窃取,危害公共安全。
des的加密解密方法是开发者们常常使用的一种加密方式,简单的使用方法颇受开发者的青睐。

  • 首先安装des加密/解密插件
npm install crypto-js --save
  • 引入模块
 import CryptoJS from "crypto-js";
  • 封装一个加密方法
function encryptByDES(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 encrypted.toString();
}
  • 封装一个解密的方法
function decryptByDES(ciphertext, key){
    var keyHex = CryptoJS.enc.Utf8.parse(key);
    var 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);
}
  • 导出所封装的方法
export {encryptByDES,decryptByDES}

前期准备工作完成,开始测试工作

  • 导入载有刚才所封装的解密/加密方法的文件
import {encryptByDES,decryptByDES} from './des.js'

注意:无论是加密还是解密我们都需要一个密钥,在项目开发中我们可以与后端商量出一个共同的密钥,保证数据的安全

  • 在此我们先随便写一个密钥
const seriectkey='asdfghjkl1556'
  • 先验证加密
const tel='18598681475'
let enctel=encryptByDES(tel,seriectkey)
console.log(enctel)//UgUETaqrEO27nXZm26NvIg==

可以清晰的看出加密成功了

  • 验证解密
console.log(decryptByDES(enctel,seriectkey))//18598681475

不出意外的解密也成功了
我这边是用node环境下运行的,感兴趣的小伙伴们可以尝试一下
下面是代码相关的文件截图
封装方法的文件
在这里插入图片描述
测试方法的文件
在这里插入图片描述
部分朋友可能需要这个截图
倘若出现了这样的问题
在这里插入图片描述
可在package.json文件中进行如下修改,具体如图所示
所需要修改的代码块:

"type": "module"

参考图:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值