当前位置: 首页 > news >正文

使用crypto-js进行DES加/解密

crypto-js 官方网站:https://github.com/brix/crypto-js
中文参考教程:前端加密JS库–CryptoJS 使用指南
在线加解密网站:https://www.mklab.cn/utils/des

首先要安装crypto-js库,根据自己使用的方式按照官方网站步骤进行即可。

一、DES加密方法(先要安装CryptoJS,并跟后端沟通好模式)

// 把你UTF8编码的key转成WordArray对象
const _key = CryptoJS.enc.Utf8.parse('your key');
// 把你UTF8编码的iv字符串转成WordArray
// 如果是ECB模式,就不用iv
const _iv = CryptoJS.enc.Utf8.parse('your iv');
// 需要加密的字符串,如果不是字符串就要用JSON.stringify转一下
const _str = 'your string';
const _encrypt = CryptoJS.DES.encrypt(_str, _key, {
	mode: CryptoJS.mode.ECB,
	padding: CryptoJS.pad.NoPadding,
});
const _result = _encrypt.toString()

二、解密方法(需要先跟后端沟通好采用的模式)

// 把UTF8编码的key转成WordArray对象
const _key = CryptoJS.enc.Utf8.parse('your key')
// 需要解密的字符串,根据需要转换成对应的编码(例如16进制的密文先转成WordArray对象,再转成Base64字符串)
const _str = CryptoJS.enc.Base64.stringify(CryptoJS.enc.Hex.parse('your encrypt string'))
const _decrypt = CryptoJS.DES.decrypt(_str, _key, {
	mode: CryptoJS.mode.ECB,
	padding: CryptoJS.pad.NoPadding,
})
const _result = CryptoJS.enc.Utf8.stringify(_decrypt)

相关文章:

  • 常用的排序算法------练习2
  • JumpServer:一款企业级开源堡垒机
  • mapbox进阶,仿照百度,加载marker点位,移入marker点切换图标,点击展示气泡,气泡和marker联动
  • Ubuntu系统保姆级Paperless-ngx部署指南:零基础实现文档云端化管理
  • LeetCode 热题 100_爬楼梯(81_70_简单_C++)(动态规划)
  • SLAM文献之-NR-SLAM: Non-Rigid Monocular SLAM
  • 使用独立服务器的最佳方式指南
  • 【软件测试】一篇总结软件测试的基础知识
  • redis(主从复制)教程
  • 播放本地视频-实现视频画廊功能
  • @emotion/css + react+动态主题切换
  • Ubuntu-22.04安装ROS2
  • [GESP202503 C++一级题解]:B4258 : 四舍五入
  • 《一本书讲透Elasticsearch:原理、进阶与工程实践》读书笔记
  • 老外讲解用Delphi 12.3作web
  • Linux搭建NFS服务
  • GPIO输出实验,控制LED灯
  • 地图(死亡细胞)
  • 第六章 数学
  • Dynamic WallPaper-壁纸动态-Mac电脑-4K超高清
  • 温州网站建设设计/东莞搜索引擎推广
  • 网站建设加入购买按钮/企业推广视频
  • 网站域名空间5个G的多少钱/谷歌广告上海有限公司官网
  • 那个网站可以做学历认证/郑州seo排名工具
  • 网站制作工作室/网站优化内容
  • 做自己的网站如何赚钱的/国际新闻最新消息美国