js sm4实现加密解密

2023.10.25今天我学习了如何使用sm4进行加密解密:

注意:前端和后端的编码必须相同才能使用,不然会出现空字符串的错误。

一、首先安装sm4.js包:

复制代码
npm i sm4js

package.json中的版本: (安装失败的话可以直接复制下面的版本然后npm install)

复制代码
"dependencies": {
  "sm4js": "^0.0.6",
},

二、main.js中全局引入或局部引入:

javascript 复制代码
import Sm4js from 'sm4js' 

Vue.prototype.$sm4 = Sm4js

这个是全局引入的,在别的页面的话使用this.$sm4就能调用。

javascript 复制代码
import Sm4js from 'sm4js' 

let sm4 = new Sm4js()

这个是局部引入。

三、使用:

javascript 复制代码
<script>
  import Sm4js from 'sm4js';
  export default {
    name: 'color',
    ...
    methods:{
      getKey(){
        let key = 'AwXOF5IRtHNuQuJX'
        let sm4Config = {
          key: key, // 密钥  前后端一致即可,后端提供,一般通过接口请求获取到
          mode: 'cbc', // 加密的方式有两种,ecb和cbc两种
          cipherType: 'base64'
        }
        let sm4 = new Sm4js(sm4Config)

        let text = '123456'
        // 对数据进行加密   encrypt - 加密方法
        let encrypted = sm4.encrypt(text)

        // 对数据进行解密   decrypt - 解密方法
        let decrypted = sm4.decrypt(encrypted )

      }
    }
  }
</script>
相关推荐
Setsuna_F_Seiei2 小时前
前端的 AI 学习之路 01 之 Agent API 调用 - 和 Agent 的基础对话
前端·人工智能·ai编程
覆东流2 小时前
7.Java数组
java·开发语言·后端
码行山野赴时序归途2 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
threerocks3 小时前
AI 原生软件开发生命周期手册 - 如何借助 AI,逐阶段改造软件开发生命周期
前端·javascript·后端
lzhdim3 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert3 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
徐小夕3 小时前
3分钟从想法到Agent上线:我们开源了一款AI可视化工作流“IDE”
前端·算法·github
ly76894 小时前
JavaScript 从入门到进阶:核心语法、异步编程与工程化实践
开发语言·javascript·ecmascript
落魄大学生之流水线上谋生计5 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
for_ever_love__5 小时前
python基础语法学习: 闭包
开发语言·python·学习·闭包