• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1## 加解密(ArkTS)
2
3### 介绍
4
51. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/UniversalKeystoreKit/huks-encryption-decryption-arkts.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
6
7####  AES/CBC/PKCS7
8
9##### 介绍
10
111. 本示例主要介绍使用AES算法加密,用例中选取的分组模式为CBC、填充模式为PKCS7时,必须要填参数IV。
12
13##### 效果预览
14
15| 主页                                                       | 删除                                                       |
16| ---------------------------------------------------------- | ---------------------------------------------------------- |
17| <img src="./screenshots/AESCBCPKCS7_1.png" width="360;" /> | <img src="./screenshots/AESCBCPKCS7_2.png" width="360;" /> |
18
19使用说明
20
211. 点击AES/CBC/PKCS7按钮生成密钥,加密数据并解密数据,删除密钥。
22
23####  AES/GCM/NoPadding
24
25##### 介绍
26
271. 本示例主要介绍使用AES算法加密,用例中选取的分组模式为GCM时,必须要填参数NONCE,AAD可选。
28
29##### 效果预览
30
31| 主页                                                         | 删除                                                         |
32| ------------------------------------------------------------ | ------------------------------------------------------------ |
33| <img src="./screenshots/AESGCMNoPadding_1.png" width="360;" /> | <img src="./screenshots/AESGCMNoPadding_2.png" width="360;" /> |
34
35使用说明
36
371. 点击AES/GCM/NoPadding按钮生成密钥,加密数据并解密数据,删除密钥。
38
39####  RSA/ECB/PKCS1_V1_5
40
41##### 介绍
42
431. 本示例主要介绍使用RSA算法加密,需要选择其对应分组模式以及填充模式和摘要算法DIGEST。
44
45##### 效果预览
46
47| 主页                                                         | 删除                                                         |
48| ------------------------------------------------------------ | ------------------------------------------------------------ |
49| <img src="./screenshots/RSAECBPKCS1_V1_5_1.png" width="360;" /> | <img src="./screenshots/RSAECBPKCS1_V1_5_2.png" width="360;" /> |
50
51使用说明
52
531. 点击RSA/ECB/PKCS1_V1_5按钮生成密钥,加密数据并解密数据,删除密钥。
54
55####  RSA/ECB/OAEP/SHA256
56
57##### 介绍
58
591. 本示例主要介绍使用RSA算法加密,需要选择其对应分组模式以及填充模式和摘要算法DIGEST。
60
61##### 效果预览
62
63| 主页                                                         | 删除                                                         |
64| ------------------------------------------------------------ | ------------------------------------------------------------ |
65| <img src="./screenshots/RSAECBOAEPSHA256_1.png" width="360;" /> | <img src="./screenshots/RSAECBOAEPSHA256_2.png" width="360;" /> |
66
67使用说明
68
691. 点击RSA/ECB/OAEP/SHA256按钮生成密钥,加密数据并解密数据,删除密钥。
70
71####  SM2
72
73##### 介绍
74
751. 本示例主要介绍使用SM2算法加密,摘要算法DIGEST需要指定为SM3。
76
77##### 效果预览
78
79| 主页                                               | 删除                                               |
80| -------------------------------------------------- | -------------------------------------------------- |
81| <img src="./screenshots/SM2_1.png" width="360;" /> | <img src="./screenshots/SM2_2.png" width="360;" /> |
82
83使用说明
84
851. 点击SM2按钮生成密钥,加密数据并解密数据,删除密钥。
86
87## 加解密(C/C++)
88
89### 介绍
90
911. 本工程实现了对以下 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/UniversalKeystoreKit/huks-encryption-decryption-ndk.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
92
93#### Call C/C++
94
95##### 介绍
96
971. 本示例主要介绍加解密,以AES 256密钥为例,完成加解密。
98
99##### 效果预览
100
101| 主页                                               |                                                    |
102| -------------------------------------------------- | -------------------------------------------------- |
103| <img src="./screenshots/Cpp_1.png" width="360;" /> | <img src="./screenshots/Cpp_2.png" width="360;" /> |
104
105使用说明
106
1071. 点击Call C/C++按钮生成密钥,加密数据并解密数据,删除密钥。
108
109## 工程目录
110
111```
112entry/src/main/
113|---ets
114|---|---entryability
115|---|---|---EntryAbility.ets
116|---|---pages
117|---|---|---AESCBCPKCS7.ets
118|---|---|---AESGCMNoPadding.ets
119|---|---|---Index.ets						// 首页
120|---|---|---RSAECBOAEPSHA256.ets
121|---|---|---RSAECBPKCS1_V1_5.ets
122|---|---|---SM2.ets
123|---cpp
124|---resources								// 静态资源
125|---ohosTest
126|---|---ets
127|---|---|---tests
128|---|---|---|---EncryptionDecryption.test.ets        // 自动化测试用例
129```
130
131
132## 相关权限
133
134无。
135
136## 依赖
137
138不涉及。
139
140## 约束与限制
141
1421. 本示例仅支持标准系统上运行,支持设备:RK3568。
1432. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。
1443. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。
145
146## 下载
147
148如需单独下载本工程,执行如下命令:
149
150```
151git init
152git config core.sparsecheckout true
153echo code/DocsSample/Security/UniversalKeystoreKit/KeyUsage/EncryptionDecryption > .git/info/sparse-checkout
154git remote add origin https://gitee.com/openharmony/applications_app_samples.git
155git pull origin master
156```