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```