uniapp使用sm4加密

安装:npm install sm-crypto --save

1、在utils下新建crypto.js文件

javascript 复制代码
// sm4 加密
export function encryption(params) {
	const SM4 = require("sm-crypto").sm4
	const key = '0123456789abcdeffedcba9876543212'; // 提供的密钥
	const iv = 'fedcba98765432100123456789abcdaf'; // 提供的IV
	const config = {
		key: key, // 密钥
		mode: 'cbc', // 加密模式
		iv: iv // 初始化向量
	};
	return SM4.encrypt(params,key,iv);
}

// sm4 解密
export function decryption(params) {
	const SM4 = require("sm-crypto").sm4
	const key = '0123456789abcdeffedcba9876543212'; // 提供的密钥
	const iv = 'fedcba98765432100123456789abcdaf'; // 提供的IV
	return SM4.decrypt(params,key,iv); // 第一个参数是加密数据的编码,第二个参数是输出编码
}

2、在页面引入

javascript 复制代码
    import {
        encryption,
        decryption
    } from "@/utils/crypto.js";

3、使用

javascript 复制代码
//加密
let param = encryption('xxxxxx')
console.log(param, '加密');
//解密
let param = decryption('xxxxxx')
console.log(param, '解密');
相关推荐
promiseThen2 分钟前
我用 7 条铁律管住 Cursor:让 AI 写代码不再「自由发挥」
前端·ai编程
梨想橙汁19 分钟前
JS 核心语法:运算符流程控制、函数、数组与对象实战详解
前端·javascript
七牛开发者19 分钟前
拆解 dsh:Turn 与 Step 如何组织 Agent 主循环
前端·javascript·人工智能
空想兔20 分钟前
前端网络请求的前世今生:从 Ajax、XHR 到 Fetch 和 Axios
javascript
梨想橙汁20 分钟前
JavaScript 零基础入门:引入方式、变量与数据类型,吃透原始与引用类型
前端·javascript
不可能片场24 分钟前
puppeteer 调试实录:CDP 双层响应让取值永远 None
前端·electron
咖啡无伴侣25 分钟前
2. 从零搭建企业级 Monorepo 工程化模板:ESLint 10 (基础骨架)+ Prettier 配置与避坑指南
前端·架构
光影少年29 分钟前
react navite实现全局弹窗、Toast 组件
前端·react native·react.js
WebInfra33 分钟前
Rslib 1.0 正式发布:面向多场景的 JavaScript 库开发工具
前端·javascript·github
Tongsr1 小时前
别只混淆代码:用 Kaleido 加固整个 Android Release AAB
前端·算法·github