一、安装crypto-js

npm install crypto-js

二、引入crypto-js

支持ES6导入、Modular

import CryptoJS from "crypto-js";

或者

const CryptoJS = require("crypto-js");

三、设置密钥和密钥偏移量

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

四、封装加密方法

/*** 加密方法* @param data* @returns {string}*/
export function encrypt(data) {if (typeof data === "object") {try {// eslint-disable-next-line no-param-reassigndata = JSON.stringify(data);} catch (error) {console.log("encrypt error:", error);}}const dataHex = CryptoJS.enc.Utf8.parse(data);const encrypted = CryptoJS.AES.encrypt(dataHex, SECRET_KEY, {iv: SECRET_IV,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});return encrypted.ciphertext.toString();
}

五、封装解密方法

/*** 解密方法* @param data* @returns {string}*/
export function decrypt(data) {const encryptedHexStr = CryptoJS.enc.Hex.parse(data);const str = CryptoJS.enc.Base64.stringify(encryptedHexStr);const decrypt = CryptoJS.AES.decrypt(str, SECRET_KEY, {iv: SECRET_IV,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7});const decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);return decryptedStr.toString();
}

六、使用方法

import { decrypt, encrypt } from "@/utils/encrypt";const data = "13172"const encryptText = encrypt(data);
console.log("加密", encryptText);const decryptText = decrypt(encryptText);
console.log("解密", decryptText);

crypto-js 加密、解密使用方法相关推荐

  1. 微信小程序使用crypto.js加密解密

    微信小程序中使用crypto.js crypto.js是用来进行AES加密的 注意AES在使用时有7个配置项,前后端加解密记着统一参数,测试时注意配置项的选择是否一致. 测试工具: AES加密测试工具 ...

  2. angular使用crypto.js加密

    MD5加密 过程: 1.下载 npm install ts-md5 --save 2.在需要的组件引入 import { Md5 } from 'ts-md5'; 3.使用 console.log(M ...

  3. getcoo php_PHP简单实现DES加密解密的方法

    本文实例讲述了PHP简单实现DES加密解密的方法.分享给大家供大家参考,具体如下: des加密: function des_encrypt($str, $key) { $block = mcrypt_ ...

  4. 可以考的python方面的证书-python有证书的加密解密实现方法

    本文实例讲述了python有证书的加密解密实现方法.分享给大家供大家参考.具体实现方法如下: 最近在做python的加解密工作,同时加完密的串能在php上能解出来,网上也找了一些靠谱的资料,刚好也有时 ...

  5. 使用windows crypto API加密解密

    2019独角兽企业重金招聘Python工程师标准>>> 其实,使用windows API编程并不难,首先要有信心.MSDN提供了详细的帮助和指南,许多问题,只要详细查阅MSND,完全 ...

  6. php常用url加密方法,php实现URL加密解密的方法

    本文实例讲述了php实现URL加密解密的方法.分享给大家供大家参考,具体如下: 无标题文档 function query_encode($sQuery) {//加密链接 if(strlen($sQue ...

  7. 数据AES加密安全传输之前端JS加密解密

    AES(Advanced Encryption Standard)是一种对称加密方式,旨在取代DES成为广泛使用的标准.我在前端实现关键数据报文加密时采用了该加密方式. 我使用的AES加密架包是cry ...

  8. JS加密解密对于asp.net解密加密

    对于特殊数据传输,我们需要做到加密以及后台解密等! 一:js加密.asp.net解密        js:encodeURI(需要加密的变量)        asp.net:Server.UrlDec ...

  9. 前端使用pako.js加密解密

    之前在网上搜到的关于pako加密解密方法,其中加密方法有点问题,和解密方法不配套. 整理了下我自己最后修改的代码 zip = (str) => { let binaryString = pako ...

  10. 在java中使用base64加密解密的方法

    base64原理 Base64编码方法,要求把每三个8Bit的字节转换为四个6Bit的字节,其中,转换之后的这四个字节中每6个有效bit为是有效数据,空余的那两个 bit用0补上成为一个字节.因此Ba ...

最新文章

  1. Learn OpenGL (八):颜色
  2. 计算项目中的代码行数:Count the Lines of Code (LOC)
  3. mysql 只读账号_MySql主从复制,从原理到实践!
  4. 更换主板后 Win10 账户密钥集不存在 0x80090016问题解决
  5. java 杨辉三角_Java语言杨辉三角
  6. ECS云服务器新手上路
  7. 【C语言】解决 “address of stack memory associated with local variable ‘num‘ returned”
  8. python h5py详解
  9. 疫情数据爬取,可视化及其预测
  10. 测控仪器专业权威期刊
  11. 【Verilog 设计】Verilog 实现偶数、奇数分频和任意小数分频
  12. 如何用VBA从身份证号码中提取性别
  13. Exynos_4412——WDT实验
  14. css 外弧_CSS绘制圆(弧)
  15. 姐姐担忧闪婚妹妹被骗强迫迎其乱精力病
  16. MySQL中查询某年某月的数据
  17. 如何治疗脱发?植司泉助力头发新生!
  18. 在Mac环境下系统本身就带有的Apache(阿帕奇服务器)和PHP都预装好了,且合并完成。如果不知道请查看MAC 下配置Apache和PHP
  19. 大数据Kudu(五):Kudu基于Cloudera Manager安装及配置
  20. MTK |Android KKL 平台TP调试

热门文章

  1. Linux cs反恐精英安装
  2. 微信客服发送菜单消息,用超链接文本代替菜单按钮
  3. InfluxDB 踩坑小记
  4. [算法]柏林噪声 Perlin Noise
  5. 不要因为工作不好而辞职
  6. 笔记本电脑计算机配置,笔记本配置怎么看,详细教您怎么查看笔记本电脑的配置...
  7. 服务器系统套件,十款免费Web服务器套件
  8. linux:ntpdate和ntpd的区别以及配置使用
  9. 朵唯云服务账号登录官网_LOL 云顶之弈S4上线测试服:账号注册及客户端下载教程出炉...
  10. 春节燃情电影票,百度钱包能否突围移动支付