当前位置: 首页 > 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)
http://www.dtcms.com/a/94458.html

相关文章:

  • 常用的排序算法------练习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超高清
  • k8s 基础知识:Service + 负载均衡(下)
  • 【Django】教程-2-前端-目录结构介绍
  • 单细胞簇鉴定
  • ubuntu如何安装conda
  • 记录一次渗透测试/常用命令
  • 华为配置篇-ISIS基础实验
  • BKA-CNN-GRU、CNN-GRU、GRU、CNN四模型多变量时序预测(Matlab)
  • 【机器学习】——模型评估与选择
  • 【大模型基础_毛玉仁】4.5 实践与应用--参数高效微调PEFT
  • 6、进程理论和简单进程创建