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>
相关推荐
533_1 分钟前
[element-plus] el-tabs和el-menu联动
前端·javascript·vue.js
小呀小叮当~2 分钟前
Telegram 有哪些实用功能?一文了解
前端·人工智能·后端·其它
库克克13 分钟前
【C++】类和对象--类对象模型与大小计算
开发语言·jvm·c++
索西引擎14 分钟前
【React】React Fiber 架构:设计动机、核心机制与调度策略分析
前端·react.js·架构
布朗克16825 分钟前
Go 入门到精通-15-错误处理
开发语言·python·golang·错误处理
雨季mo浅忆30 分钟前
上传文件夹
前端·vue3
谙忆102437 分钟前
响应式图片实战:srcset、sizes、picture 与 art direction 到底怎么用
前端
zzb158037 分钟前
Zed 配置 Swift / iOS 开发
开发语言·ios·swift
北冥you鱼3 小时前
Go-Ethereum (Geth) 最佳实践:从部署到生产环境优化
开发语言·后端·golang
索西引擎3 小时前
【React】JSX:JavaScript 语法扩展的本质、编译机制与表达能力分析
前端·javascript·react.js