• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 使用SM4对称密钥加解密(ArkTS)
2
3### 介绍
4
5本示例主要展示了使用SM4对称密钥(ECB模式)加解密(ArkTS)、使用SM4对称密钥(CBC模式)加解密(ArkTS)、使用SM4对称密钥(GCM模式)加解密(ArkTS)、使用SM4对称密钥(GCM模式)分段加解密(ArkTS)场景 。该工程中展示的代码详细描述可查如下链接。
6
7- [使用SM4对称密钥(ECB模式)加解密(ArkTS)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-sm4-sym-encrypt-decrypt-ecb.md)
8- [使用SM4对称密钥(CBC模式)加解密(ArkTS)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-sm4-sym-encrypt-decrypt-cbc.md)
9- [使用SM4对称密钥(GCM模式)加解密(ArkTS)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-sm4-sym-encrypt-decrypt-gcm.md)
10- [使用SM4对称密钥(GCM模式)分段加解密(ArkTS)](https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/CryptoArchitectureKit/crypto-sm4-sym-encrypt-decrypt-gcm-by-segment.md)
11
12### 效果预览
13
14| 首页效果图                                                   | 执行结果图                                                   |
15| ------------------------------------------------------------ | ------------------------------------------------------------ |
16| <img src="./screenshots/EncryptionDecryptionGuidanceSM4ArkTs1.png" style="zoom: 50%;" /> | <img src="./screenshots/EncryptionDecryptionGuidanceSM4ArkTs2.png" style="zoom: 50%;" /> |
17
18### 使用说明
19
201. 运行Index主界面。
212. 页面呈现上述执行结果图效果,点击不同按钮可以跳转到不同功能页面,点击跳转页面中按钮可以执行对应操作,并更新文本内容。
223. 运行测试用例EncryptionDecryptionGuidanceSM4ArkTs.test.ets文件对页面代码进行测试可以全部通过。
23
24### 工程目录
25
26```
27entry/src/
28 ├── main
29 │   ├── ets
30 │   │   ├── entryability
31 │   │   ├── entrybackupability
32 │   │   ├── pages
33 │   │       ├── Index.ets               // 使用SM4对称密钥加解密(ArkTS)示例代码
34 │   │       ├── sm4_cbc_encryption_decryption
35 │   │       |   ├── sm4_cbc_encryption_decryption_asynchronous.ets
36 │   │       |   ├── sm4_cbc_encryption_decryption_synchronous.ets
37 │   │       ├── sm4_ecb_encryption_decryption
38 │   │       |   ├── sm4_ecb_encryption_decryption_asynchronous.ets
39 │   │       |   ├── sm4_ecb_encryption_decryption_synchronous.ets
40 │   │       ├── sm4_gcm_encryption_decryption
41 │   │       |   ├── sm4_gcm_encryption_decryption_asynchronous.ets
42 │   │       |   ├── sm4_gcm_encryption_decryption_synchronous.ets
43 │   │       ├── sm4_gcm_seg_encryption_decryption
44 │   │       |   ├── sm4_gcm_seg_encryption_decryption_asynchronous.ets
45 │   │       |   ├── sm4_gcm_seg_encryption_decryption_synchronous.ets
46 │   ├── module.json5
47 │   └── resources
48 ├── ohosTest
49 │   ├── ets
50 │   │   └── test
51 │   │       ├── Ability.test.ets
52 │   │       ├── EncryptionDecryptionGuidanceSM4ArkTs.test.ets  // 自动化测试代码
53 │   │       └── List.test.ets
54```
55
56### 相关权限
57
58不涉及。
59
60### 依赖
61
62不涉及。
63
64### 约束与限制
65
661.本示例仅支持标准系统上运行, 支持设备:RK3568。
67
682.本示例为Stage模型,支持API14版本SDK,版本号:5.0.2.57,镜像版本号:OpenHarmony_5.0.2.58。
69
703.本示例需要使用DevEco Studio 5.0.1 Release (Build Version: 5.0.5.306, built on December 6, 2024)及以上版本才可编译运行。
71
72### 下载
73
74如需单独下载本工程,执行如下命令:
75
76````
77git init
78git config core.sparsecheckout true
79echo code/DocsSample/Security/CryptoArchitectureKit/EncryptionDecryption/EncryptionDecryptionGuidanceSM4ArkTs > .git/info/sparse-checkout
80git remote add origin https://gitee.com/openharmony/applications_app_samples.git
81git pull origin master
82````