首页 > 其他分享 >使用crypto-js加密

使用crypto-js加密

时间:2024-03-19 14:35:02浏览次数:27  
标签:enc 加密 crypto js parse let CryptoJS iv

  • 在utils文件夹创建一个aes.js文件
  • 安装 cnpm install crypto-js
import CryptoJS from "crypto-js";

const key = CryptoJS.enc.Utf8.parse(""); //十六位十六进制数作为密钥
const iv = CryptoJS.enc.Utf8.parse(""); //十六位十六进制数作为密钥偏移量

//解密方法
export function Decrypt(word) {
  let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
  let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
  let decrypt = CryptoJS.AES.decrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
  return decryptedStr.toString();
}

//加密方法
export function Encrypt(word) {
  let srcs = CryptoJS.enc.Utf8.parse(word);
  let encrypted = CryptoJS.AES.encrypt(srcs, key, {
    iv: iv,
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7,
  });
  return encrypted.ciphertext.toString().toUpperCase();
}

  • 使用的时候
    因为这里做的是登录,所以写在login页面中,相当于一个函数可以写在接口中
import { Encrypt } from "../utils/aes";
username: Encrypt(ruleForm.username)
password: Encrypt(ruleForm.password)

标签:enc,加密,crypto,js,parse,let,CryptoJS,iv
From: https://www.cnblogs.com/zongkm/p/18082738

相关文章

  • 分月饼【华为OD机试JAVA&Python&C++&JS题解】
    一.题目-分月饼中秋节,公司分月饼,m个员工,买了n个月饼,m<=n,每个员工至少分1个月饼,但可以分多个,单人分到最多月饼的个数是Max1,单人分到第二多月饼个数是Max2,Max1-Max2<=3,单人分到第n-1多月饼个数是Max(n-1),单人分到第n多月饼个数是Max(n),Max(n-1)–Max(n)<=3,问有多少......
  • 851大神JSP基于SSM宠物领养宠粮购买网站可升级SpringBoot
    系统分为前台后台,两个身份,管理员,用户公告信息,该模块可以查看宠物疾病,注意宠物保养等措施信息公告。公共留言信息。这个设立主要是为小区内的用户晒宠物信息等功能管理员可以发布流浪宠物领养信息,该宠物身上有什么问题,用户看到可以进行领养。一个宠物粮食在线售卖,用户可以进......
  • 云服务器中docker部署nodejs项目
    1、部署项目前准备准备好了一台Linux云服务器或Ubuntu云服务器电脑安装好了xshell、xftp这两款软件已经开发完成了nodejs的项目2、Dockerfile文件的编写 在node项目中新建一个Dockerfile文件FROMdocker.io/node#在镜像容器中创建目录RUNmkdir-p/home/mbill......
  • 标准MD5算法(js实现)
    百度百科MD5functionmd5(string){functionmd5_RotateLeft(lValue,iShiftBits){return(lValue<<iShiftBits)|(lValue>>>(32-iShiftBits));}functionmd5_AddUnsigned(lX,lY){varlX4,lY4,lX8,lY8,lResult;......
  • JS前后端交互(1)-项目BotBattle
    目录JS前后端交互交互逻辑图解后端前端JS前后端交互交互逻辑图解后端RequestMapping("/pk/")publicclassBotInfoController{@RequestMapping("getbotinfo/")publicMap<String,String>getBotInfo(){Map<String,String>bot1=newHashMap<>(......
  • NodeJS 中的设计模式
    Node.js是一个流行的JavaScript运行时,允许开发者使用事件驱动、非阻塞I/O模型构建可扩展的网络应用程序。和任何复杂的框架一样,Node.js应用程序可以从使用成熟的设计模式中受益,以促进代码重用、可维护性和健壮性。本文将概述一些对Node.js开发非常有用的设计模式。......
  • 【16.0】JS确认插件补充
    【一】SweetAlert【一】介绍SweetAlert是一个基于JavaScript的弹窗插件,用于创建美观而且高度可定制的弹窗效果。SweetAlert提供了多种弹窗风格和动画效果,可以用于警告、确认、提示和错误等不同的场景。【二】特点(1)美观可定制SweetAlert提供了漂亮和精心设计的弹窗样......
  • Venom ctf crypto RRSA
    题目:`fromflagimportflagimportrandomfromCrypto.Util.numberimport*defgenprime():o=getPrime(300)whileTrue:r=random.randint(2211,2212)#返回参数1参数2中任意一个值ifisPrime(o*r+1):returno,o*r+1o1,p=genprime()#p=o1*r1+......
  • JS面试
    JS面试数据类型基本数据类型booleannullundefinednumberstringbigintsymbol{ symbol:唯一值,类似数据库中的id永远 一般用于定义唯一不重复值的字段 声明Symbol:letid=Symbol(arg) arg参数是对该Symbol的描述,用于区分不同的Symbol对象 Symbol.description可以......
  • Threejs 车场景案例
    效果如下:本来上传视频的,视频还在审核中,通过之后可以看看各位大佬进来关注下:技术:使用threejs框架体系开发,需要具体的源码关注回复:"车“即可获取下载地址谢谢,不光有这个场景,还有更多的场景在持续免费的更新中,谢谢支持!......