1下载 sm4util
依赖
npm install sm4util
2sm4util 依赖使用说明
3
前端使用国密SM4进行加密、解密
Fighting_p
已于 2023-08-10 09:36:55 修改
阅读量1.2w
收藏 22
点赞数 3
76 篇文章 1 订阅
订阅专栏
目录
- 需求
- 【方法1】 - 使用 `sm4util` 依赖
- 【方法2】sm4.js引入
- 1. `/public/sm4.js`
- 2. body 标签上引入该文件
- 3. 使用 - ECB 模式加密
- 【方法3】
- 1. 本地写 js 文件
- 2. 使用 - ECB 模式加解密
- 可能出现的报错
需求
前端/后端使用 国密SM4
进行加密/解密,
【注意】前后端配合加解密时,需要我们自定义密钥
,一般由后端提供
【方法1】 - 使用 sm4util
依赖
- 下载
sm4util
依赖
npm install sm4util
- sm4util 依赖使用说明
- 使用 - ECB 模式加解密
/**** 【1】导入依赖 ****/
import { SM4Util } from 'sm4util'
/**** 【2】使用(在改依赖中有使用说明) ****/
// 1.使用默认密钥进行加密/解密
var sm4 = new SM4Util()
const miStr1 = sm4.encryptDefault_ECB('123') // sm4.encryptDefault_ECB(需要加密的字符串)
console.log('miStr1----', miStr1)
const jieStr1 = sm4.decryptDefault_ECB(miStr1) // sm4.decryptDefault_ECB(将字符串进行加密后生成的字符串)
console.log('jieStr1----', jieStr1) // 123
// 2.使用自定义密钥进行加密/解密(【注意】使用自定义密钥进行加密时,后端解密需要用相同的密钥进行解密 - 此处密钥可能不对)
// var sm4 = new SM4Util()
const miStr2 = sm4.encryptCustom_ECB('123', '93F3044B07393417A737E2CC389D01AF') // 加密 sm4.encryptCustom_ECB(需要加密的字符串, 密钥)
console.log('miStr2----', miStr2)
const jieStr2 = sm4.decryptCustom_ECB(miStr2, '93F3044B07393417A737E2CC389D01AF') // 解密 sm4.decryptCustom_ECB(将字符串进行加密后生成的字符串, 密钥)
console.log('jieStr2----', jieStr2) // 123
4.后端代码参考
https://blog.51cto.com/u_16297579/8639438