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>
相关推荐
来自远方的老作者5 分钟前
第10章 面向对象-10.4 继承
开发语言·python·继承·单继承·多继承·super函数
逻辑驱动的ken7 分钟前
Java高频面试考点场景题09
java·开发语言·数据库·算法·oracle·哈希算法·散列表
小手cool8 分钟前
如何在Java中根据另一个配对集合对一个集合进行排序
java·开发语言
升鲜宝供应链及收银系统源代码服务14 分钟前
OMS 订单模块重构正式文档(一)---升鲜宝生鲜配送供应链管理系统
java·开发语言·重构·生鲜配送源代码·生鲜供应链源代码
大黄说说20 分钟前
HTML5语义化标签:从div到article与section的进化之路
前端·html·html5
帅小伙―苏22 分钟前
力扣42接雨水
前端·算法·leetcode
糯米团子74927 分钟前
react速通-2
前端·react.js·前端框架
糯米团子74929 分钟前
react速通-3
javascript·react.js·前端框架
心连欣35 分钟前
从静态页面到动态交互:DOM操作的核心API解析
前端·javascript·api
橙某人38 分钟前
SSR页面上的按钮点不了?Nuxt 懒加载水合揭秘💧
前端·vue.js·nuxt.js