前端加密解密- base64、md5、sha256、AES

文章目录

一、base64

  • 加密encode Base64.encode()
  • 解密decode Base64.decode()
javascript 复制代码
let Base64 = require('js-base64').Base64

二、md5(只能加密,不能解密)

使用场景: 用户密码存储、文件校验

使用

  • npm安装: npm install crypto-js --save/npm install js-md5
  • 哪个组件使用就引入:
  • 定义方法,然后调用
javascript 复制代码
import md5 from 'js-md5';
import { MD5 } from 'crypto-js';
//使用
md5(text)
MD5(text).toString() //crypto-js 返回的是 WordArray 对象,需调用 .toString() 转为字符串 ‌

三、sha256 (不可解)

使用

  • npm安装:npm install js-sha256
  • 引入及使用
javascript 复制代码
import sha256 from 'js-sha256';
console.log(sha256('hello world')); // 输出加密后的字符串

四、AES(crypto-js‌ 库实现)

使用

  • npm安装
  • 封装加密/解密工具函数
bash 复制代码
npm install crypto-js
# 或使用 yarn
yarn add crypto-js

创建文件如 utils/aes.js,统一管理加解密逻辑:

javascript 复制代码
import CryptoJS from 'crypto-js'

const SECRET_KEY = 'your-32-byte-secret-key-1234567890' // 密钥需16/24/32字节
const IV = '1234567890123456' // CBC 模式需 16 字节 IV

export function encrypt(plaintext) {
  const encrypted = CryptoJS.AES.encrypt(plaintext, CryptoJS.enc.Utf8.parse(SECRET_KEY), {
    iv: CryptoJS.enc.Utf8.parse(IV),
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  })
  return encrypted.toString()
}

export function decrypt(ciphertext) {
  const decrypted = CryptoJS.AES.decrypt(ciphertext, CryptoJS.enc.Utf8.parse(SECRET_KEY), {
    iv: CryptoJS.enc.Utf8.parse(IV),
    mode: CryptoJS.mode.CBC,
    padding: CryptoJS.pad.Pkcs7
  })
  return decrypted.toString(CryptoJS.enc.Utf8)
}
javascript 复制代码
//使用
import { encrypt, decrypt } from '@/utils/aes'
console.log(encrypt(text),decrypt(text))
相关推荐
爱上好庆祝7 分钟前
学习js的第五天
前端·css·学习·html·css3·js
C澒20 分钟前
IntelliPro 产研协作平台:基于 AI Agent 的低代码智能化配置方案设计与实现
前端·低代码·ai编程
一袋米扛几楼9829 分钟前
【Git】规范化协作:详解 GitHub 工作流中的 Issue、Branch 与 Pull Request 最佳实践
前端·git·github·issue
网络点点滴43 分钟前
前端与后端的区别与联系
前端
EnCi Zheng1 小时前
M5-markconv自定义CSS样式指南 [特殊字符]
前端·css·python
kyriewen1 小时前
你的网页慢,用户不说直接走——前端性能监控教你“读心术”
前端·性能优化·监控
广州华水科技1 小时前
北斗GNSS变形监测在大坝安全监测中的应用与优势分析
前端
前端老石人1 小时前
前端开发中的 URL 完全指南
开发语言·前端·javascript·css·html
CAE虚拟与现实1 小时前
五一假期闲来无事,来个前段、后端的说明吧
前端·后端·vtk·three.js·前后端
Sarvartha2 小时前
三目运算符
linux·服务器·前端