更新记录
1.0.0(2024-08-09) 下载此版本
第一次发布
平台兼容性
Vue2 | Vue3 |
---|---|
√ | √ |
App | 快应用 | 微信小程序 | 支付宝小程序 | 百度小程序 | 字节小程序 | QQ小程序 |
---|---|---|---|---|---|---|
app-vue app-nvue | √ | √ | √ | √ | √ | √ |
钉钉小程序 | 快手小程序 | 飞书小程序 | 京东小程序 | 鸿蒙元服务 |
---|---|---|---|---|
√ | √ | √ | √ | × |
H5-Safari | Android Browser | 微信浏览器(Android) | QQ浏览器(Android) | Chrome | IE | Edge | Firefox | PC-Safari |
---|---|---|---|---|---|---|---|---|
√ | √ | √ | √ | √ | √ | √ | √ | √ |
AES128 加解密 jh-cryptojs
如何使用
运算模式:ECB 填充模式:None 密钥长度:128bit 密钥格式:Hex 字符编码:Hex 16 进制 输出格式:Hex
安装 SDK
在插件市场安装
安装依赖
在项目根目录:
yarn add crypto-js
在 script 中引用
import jhcryptojs from '@/js_sdk/jh-aes128'
调用 SDK
const passKey = 'a6551cbb865756064827539017819606' // 密钥
const text = '6DB71111111111111111111111122111' // 明文
const encryptedHex = aesEncrypt(passKey, text); // 加密 FB47E58BFCFB7CA7425B39EE9566C6CA
const decryptedHex = aesDecrypt(passKey, encryptedHex); // 解密
使用案例
<template>
<view class="content">
<image class="logo" src="/static/logo.png"></image>
<view style="width: 90%"
>密钥:<input v-model="passkey" style="width: 300"
/></view>
<view style="width: 90%"
>明文:<input v-model="text" style="width: 300"
/></view>
<button @click="handleAesEncrypt">加密</button>
<view v-if="passResult">加密结果: {{ passResult }}</view>
<button v-if="passResult" @click="handleAesDecrypt">解密</button>
<view v-if="textResult">解密后的明文: {{ textResult }}</view>
</view>
</template>
<script>
import {
aesEncrypt,
aesDecrypt,
} from "@/js_sdk/jh-aes128";
export default {
data() {
return {
passkey: "a6551cbb865756064827539017819606",
text: "6db71111111111111111111111111111",
passResult: "",
textResult: "",
};
},
onLoad() {},
methods: {
handleAesEncrypt() {
if (this.passkey.length !== 32) {
uni.showToast({
title: "密钥长度必须为32位",
icon: "none",
});
this.passResult = "";
return;
}
if (this.text.length !== 32) {
uni.showToast({
title: "明文长度必须为32位",
icon: "none",
});
this.passResult = "";
return;
}
const result = aesEncrypt(this.passkey, this.text);
this.passResult = result;
},
handleAesDecrypt() {
const result = aesDecrypt(this.passkey, this.passResult);
this.textResult = result;
},
},
};
</script>
<style>
.content {
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}
.logo {
height: 200rpx;
width: 200rpx;
margin-top: 200rpx;
margin-left: auto;
margin-right: auto;
margin-bottom: 50rpx;
}
.text-area {
display: flex;
justify-content: center;
}
.title {
font-size: 36rpx;
color: #8f8f94;
}
</style>