Skip to content
本页导读

加密库

支持 sm4 sm4cbc 加密解密

平台兼容性

AndroidiOSweb鸿蒙 Next小程序
xx

使用

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>