2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > 前端CryptoJS加解密

前端CryptoJS加解密

时间:2023-03-19 20:37:42

相关推荐

前端CryptoJS加解密

CryptoJS是标准安全加密算法的JavaScript实现,运行速度快,接口简单,见名知意。文档说明可参考:CryptoJS文档说明。

CryptoJS的实现主要有哈希算法,HMAC、加密算法、以及常用编解码算法。

哈希算法,如MD5、SHA-1、SHA-2等。

加密算法,如AES、DES等。

编解码算法,如Base64、Hex16等。

一、安装crypto-js

npm install crypto-js

二、封装加解密方法

import CryptoJS from 'crypto-js'/*** AES加密* @param plainText 明文* @param keyInBase64Str base64编码后的key* @param ivInBase64Str base64编码后的初始化向量(只有CBC模式下才支持)* @return base64编码后的密文*/export function encryptByAES(plainText, keyInBase64Str, ivInBase64Str) {let key = CryptoJS.enc.Base64.parse(keyInBase64Str)let iv = CryptoJS.enc.Base64.parse(ivInBase64Str)let encrypted = CryptoJS.AES.encrypt(plainText, key, {iv: iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7})// 这里的encrypted不是字符串,而是一个CipherParams对象return encrypted.ciphertext.toString(CryptoJS.enc.Base64)}/*** AES解密* @param cipherText 密文* @param keyInBase64Str base64编码后的key* @param ivInBase64Str base64编码后的初始化向量(只有CBC模式下才支持)* @return 明文*/export function decryptByAES(cipherText, keyInBase64Str, ivInBase64Str) {let key = CryptoJS.enc.Base64.parse(keyInBase64Str)let iv = CryptoJS.enc.Base64.parse(ivInBase64Str)// 返回的是一个Word Array Object,其实就是Java里的字节数组let decrypted = CryptoJS.AES.decrypt(cipherText, key, {iv: iv,mode: CryptoJS.mode.CBC,padding: CryptoJS.pad.Pkcs7})return decrypted.toString(CryptoJS.enc.Utf8)}

三、vue中使用

let secret = 'sQPoC/1do9BZMkg8I5c09A=='let cipherText = encryptByAES('Hello', secret, secret)let plainText = decryptByAES(cipherText, secret, secret)console.log(`Hello加密后的密文为:${cipherText}`)console.log(`解密后的内容为:${plainText}`)

————————————————

版权声明:本文为CSDN博主「凌波漫步&」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:/lingbomanbu_lyl/article/details/125238945

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。