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>