加密库
支持 sm4 sm4cbc 加密解密
平台兼容性
Android | iOS | web | 鸿蒙 Next | 小程序 |
---|---|---|---|---|
√ | √ | √ | x | x |
使用
ts
import { $ux } from '@/uni_modules/ux-frame'
$ux.Encrypt.sm4Encrypt('123', '0123456789abcdeffedcba9876543210')
import { $ux } from '@/uni_modules/ux-frame'
$ux.Encrypt.sm4Encrypt('123', '0123456789abcdeffedcba9876543210')
Api
事件名 | 参数 | 说明 |
---|---|---|
sm4Encrypt | {data : string, key : string} | SM4加密 |
sm4Decrypt | {data : string, key : string} | SM4解密 |
sm4EncryptCBC | {data : string, key : string, iv : string} | SM4 CBC 加密 |
sm4DecryptCBC | {data : string, key : string, iv : string} | SM4 CBC 解密 |
示例代码
ts
<script setup>
import { $ux } from '@/uni_modules/ux-frame'
let title = ''
const data1 = ref('')
const data2 = ref('')
onLoad((e: OnLoadOptions) => {
title = e['title'] ?? ''
})
function encrypt(data: string) {
data1.value = $ux.Encrypt.sm4Encrypt(data, '0123456789abcdeffedcba9876543210')
}
function decrypt(data: string) {
data1.value = $ux.Encrypt.sm4Decrypt(data, '0123456789abcdeffedcba9876543210')
}
function encryptCBC(data: string) {
data2.value = $ux.Encrypt.sm4EncryptCBC(data, '0123456789abcdeffedcba9876543210', 'fedcba98765432100123456789abcdef')
}
function decryptCBC(data: string) {
data2.value = $ux.Encrypt.sm4DecryptCBC(data, '0123456789abcdeffedcba9876543210', 'fedcba98765432100123456789abcdef')
}
</script>
<script setup>
import { $ux } from '@/uni_modules/ux-frame'
let title = ''
const data1 = ref('')
const data2 = ref('')
onLoad((e: OnLoadOptions) => {
title = e['title'] ?? ''
})
function encrypt(data: string) {
data1.value = $ux.Encrypt.sm4Encrypt(data, '0123456789abcdeffedcba9876543210')
}
function decrypt(data: string) {
data1.value = $ux.Encrypt.sm4Decrypt(data, '0123456789abcdeffedcba9876543210')
}
function encryptCBC(data: string) {
data2.value = $ux.Encrypt.sm4EncryptCBC(data, '0123456789abcdeffedcba9876543210', 'fedcba98765432100123456789abcdef')
}
function decryptCBC(data: string) {
data2.value = $ux.Encrypt.sm4DecryptCBC(data, '0123456789abcdeffedcba9876543210', 'fedcba98765432100123456789abcdef')
}
</script>
html
<template>
<ux-page>
<ux-navbar :title="title" :border="false"></ux-navbar>
<ux-scroll>
<ux-card direction="column" icon="flag-filled" title="加密库" :bold="true">
<ux-text text="支持 sm4 sm4cbc 加密解密"></ux-text>
<ux-row :flex="true" align="top" :mt="5" style="width: 100%;">
<ux-text text="详细文档:"></ux-text>
<ux-text style="flex: 1" name="加密库" text="https://www.uxframe.cn/libs/encrypt.html" path="/pages/webview/webview" mode="link"</ux-text>
</ux-row>
</ux-card>
<ux-card direction="column" icon="arrowright" title="SM4" :bold="true">
<ux-text :text="data1" :mb="15"></ux-text>
<ux-col>
<ux-button :mr="10" text="加密" @click="encrypt('UxFrame 低代码高性能UI框架')"></ux-button>
<ux-button :mr="10" :mt="10" text="解密" @click="decrypt(data1)"></ux-button>
</ux-col>
</ux-card>
<ux-card direction="column" icon="arrowright" title="CBC模式" :bold="true">
<ux-text :text="data2" :mb="15"></ux-text>
<ux-col>
<ux-button :mr="10" text="加密" @click="encryptCBC('UxFrame 低代码高性能UI框架')"></ux-button>
<ux-button :mr="10" :mt="10" text="解密" @click="decryptCBC(data2)"></ux-button>
</ux-col>
</ux-card>
<ux-placeholder :height="200">
<ux-row justify="center" align="center" style="height: 100%;">
<ux-text prefix-icon="soapbubble-filled" text="真的没有了~"></ux-text>
</ux-row>
</ux-placeholder>
</ux-scroll>
</ux-page>
</template>
<template>
<ux-page>
<ux-navbar :title="title" :border="false"></ux-navbar>
<ux-scroll>
<ux-card direction="column" icon="flag-filled" title="加密库" :bold="true">
<ux-text text="支持 sm4 sm4cbc 加密解密"></ux-text>
<ux-row :flex="true" align="top" :mt="5" style="width: 100%;">
<ux-text text="详细文档:"></ux-text>
<ux-text style="flex: 1" name="加密库" text="https://www.uxframe.cn/libs/encrypt.html" path="/pages/webview/webview" mode="link"</ux-text>
</ux-row>
</ux-card>
<ux-card direction="column" icon="arrowright" title="SM4" :bold="true">
<ux-text :text="data1" :mb="15"></ux-text>
<ux-col>
<ux-button :mr="10" text="加密" @click="encrypt('UxFrame 低代码高性能UI框架')"></ux-button>
<ux-button :mr="10" :mt="10" text="解密" @click="decrypt(data1)"></ux-button>
</ux-col>
</ux-card>
<ux-card direction="column" icon="arrowright" title="CBC模式" :bold="true">
<ux-text :text="data2" :mb="15"></ux-text>
<ux-col>
<ux-button :mr="10" text="加密" @click="encryptCBC('UxFrame 低代码高性能UI框架')"></ux-button>
<ux-button :mr="10" :mt="10" text="解密" @click="decryptCBC(data2)"></ux-button>
</ux-col>
</ux-card>
<ux-placeholder :height="200">
<ux-row justify="center" align="center" style="height: 100%;">
<ux-text prefix-icon="soapbubble-filled" text="真的没有了~"></ux-text>
</ux-row>
</ux-placeholder>
</ux-scroll>
</ux-page>
</template>
css
<style lang="scss">
</style>
<style lang="scss">
</style>