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, '解密');
相关推荐
2601_958492553 小时前
Optimizing Engagement with Freehead Skate - HTML5 Game - Construct 3
前端·html·html5
茉莉玫瑰花茶3 小时前
工作流的常见模式 [ 1 ]
java·服务器·前端
zhangxingchao4 小时前
AI应用开发六:企业知识库
前端·人工智能·后端
山峰哥4 小时前
SQL慢查询调优实战:从全表扫描到索引覆盖的完整复盘
前端·数据库·sql·性能优化
红尘散仙5 小时前
一个 `#[uniffi::export]`,把 Rust 接进 React Native
前端·后端·rust
moshuying5 小时前
AI Coding 最大的 token 黑洞,可能根本不是 prompt
前端
红尘散仙5 小时前
一行 `#[specta::specta]`,让 Tauri IPC 有类型
前端·后端·rust
lichenyang4535 小时前
HarmonyOS HMRouter 接入记录:从普通 Tab Demo 到路由跳转
前端
木斯佳5 小时前
前端八股文面经大全:腾讯WXG暑期前端一面(2026-05-15)·面经深度解析
前端·面试·笔试