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>
相关推荐
常利兵4 分钟前
Kotlin作用域函数全解:run/with/apply/let/also与this/it的魔法对决
android·开发语言·kotlin
Zestia12 分钟前
页面点击跳转源代码?——element-jumper插件实现
前端·javascript
前端小白199512 分钟前
面试取经:工程化篇-webpack性能优化之优化loader性能
前端·面试·前端工程化
PineappleCoder12 分钟前
大小写 + 标点全搞定!JS 如何精准统计单词频率?
前端·javascript·算法
zhangbao90s13 分钟前
Web组件:使用Shadow DOM
前端
hhy前端之旅14 分钟前
语义版本控制:掌握版本管理的艺术
前端
coding随想14 分钟前
深入浅出DOM操作的隐藏利器:Range(范围)对象——掌控文档的“手术刀”
前端
前端小白199514 分钟前
面试取经:工程化篇-webpack性能优化之减少模块解析
前端·面试·前端工程化
一枚前端小能手15 分钟前
🏗️ 项目越来越大维护不动了,微前端架构了解一下
前端
KasukabeTsumugi15 分钟前
TypeScript:联合类型可以转化为元组类型吗?数组如何用联合类型逐项约束?
javascript