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

前端使用 crypto-js库AES加解密

前端使用 crypto-js库AES加解密

为什么需要前端加密?

现在项目使用http协议,且登录界面的用户登录密码是明文传输,项目真正上线后,存在信息泄露风险。
所以准备用前端框架加密处理用户输入的密码再传输。

crypto-js 库

crypto-js 是一个纯 JavaScript 实现的加密库,支持 AES、SHA、HMAC 等算法,兼容浏览器和 Node.js 环境。

加密和解密的基本步骤

1、 安装 crypto-js 库

npm install crypto-js
yarn add crypto-js

2、引入 crypto-js 库: 在你的 Vue 组件或其他 JavaScript 文件中引入 crypto-js:

import CryptoJS from 'crypto-js';

3、AES 加密: 使用 CryptoJS.AES.encrypt 方法进行加密。你需要提供要加密的数据和密钥。

// 要加密的数据
const data = 'Hello, World!';
// 密钥
const key = 'my-secret-key-12345';

// 加密
const encrypted = CryptoJS.AES.encrypt(data, key).toString();
console.log('Encrypted:', encrypted);

4、AES 解密: 使用 CryptoJS.AES.decrypt 方法进行解密。同样需要提供密文和密钥。

// 解密
const bytes = CryptoJS.AES.decrypt(encrypted, key);
const decryptedData = bytes.toString(CryptoJS.enc.Utf8);
console.log('Decrypted:', decryptedData);

5、注意事项:
密钥的安全性非常重要,不要在客户端暴露敏感的密钥。
加密后的数据通常以 Base64 编码的形式存在,便于传输和存储。
根据需要,可以使用更复杂的加密模式和填充方式,crypto-js 支持多种模式,如 CBC、CFB、OFB 等。

应用
// 对密码进行加密
const encryptedPassword = CryptoJS.AES.encrypt(loginForm.password, 'abcdefgh12345678').toString()

相关文章:

  • 2024 年河南省职业院校 技能大赛高职组 “大数据分析与应用” 赛项任务书(一)
  • C语言中,#define和typedef 定义int* 一个容易混淆的点
  • 2025最新!人工智能领域大模型学习路径、大模型使用、AI工作流学习路径
  • 前端小食堂 | Day17 - 前端安全の金钟罩
  • 【深度学习量化交易16】触发机制设置——基于miniQMT的量化交易回测系统开发实记
  • 深度剖析Java开发中的双写一致性问题:原理、挑战与实战解决方案
  • 【如何在OpenWebUI中使用FLUX绘画:基于硅基流动免费API的完整指南】
  • Python教学:lambda表达式的应用-由DeepSeek产生
  • 网络请求requests模块(爬虫)-15
  • bbbbb
  • html-to-image的使用及图片变形和无图问题修复
  • python如何查看版本号
  • 冯 • 诺依曼体系结构
  • JS做贪吃蛇小游戏(源码)
  • Ubuntu 安装Mujoco3.3.0
  • 防止用户调试网页的若干方法
  • 思维训练让你更高、更强 |【逻辑思维能力】「刷题训练笔记」假设法模式逻辑训练题(6-16)
  • 简单以太网配置
  • 【算法】分治-快排 算法专题
  • 第十三天-搜索算法:开启探索之门
  • 爬坡难下坡险,居民出行难题如何解?
  • 讲座预告|以危机为视角解读全球治理
  • 泽连斯基与埃尔多安会面,称已决定派遣代表团前往伊斯坦布尔
  • 奥古斯都时代的历史学家李维
  • 美国与卡塔尔签署超2435亿美元经济及军事合作协议
  • “80后”德州市接待事务中心副主任刘巍“拟进一步使用”