## 加解密(ArkTS)
### 介绍
1. 本工程主要实现了对以下指南文档中 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/UniversalKeystoreKit/huks-encryption-decryption-arkts.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
#### AES/CBC/PKCS7
##### 介绍
1. 本示例主要介绍使用AES算法加密,用例中选取的分组模式为CBC、填充模式为PKCS7时,必须要填参数IV。
##### 效果预览
| 主页 | 删除 |
| ---------------------------------------------------------- | ---------------------------------------------------------- |
|
|
|
使用说明
1. 点击AES/CBC/PKCS7按钮生成密钥,加密数据并解密数据,删除密钥。
#### AES/GCM/NoPadding
##### 介绍
1. 本示例主要介绍使用AES算法加密,用例中选取的分组模式为GCM时,必须要填参数NONCE,AAD可选。
##### 效果预览
| 主页 | 删除 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
使用说明
1. 点击AES/GCM/NoPadding按钮生成密钥,加密数据并解密数据,删除密钥。
#### RSA/ECB/PKCS1_V1_5
##### 介绍
1. 本示例主要介绍使用RSA算法加密,需要选择其对应分组模式以及填充模式和摘要算法DIGEST。
##### 效果预览
| 主页 | 删除 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
使用说明
1. 点击RSA/ECB/PKCS1_V1_5按钮生成密钥,加密数据并解密数据,删除密钥。
#### RSA/ECB/OAEP/SHA256
##### 介绍
1. 本示例主要介绍使用RSA算法加密,需要选择其对应分组模式以及填充模式和摘要算法DIGEST。
##### 效果预览
| 主页 | 删除 |
| ------------------------------------------------------------ | ------------------------------------------------------------ |
|
|
|
使用说明
1. 点击RSA/ECB/OAEP/SHA256按钮生成密钥,加密数据并解密数据,删除密钥。
#### SM2
##### 介绍
1. 本示例主要介绍使用SM2算法加密,摘要算法DIGEST需要指定为SM3。
##### 效果预览
| 主页 | 删除 |
| -------------------------------------------------- | -------------------------------------------------- |
|
|
|
使用说明
1. 点击SM2按钮生成密钥,加密数据并解密数据,删除密钥。
## 加解密(C/C++)
### 介绍
1. 本工程实现了对以下 https://docs.openharmony.cn/pages/v5.0/zh-cn/application-dev/security/UniversalKeystoreKit/huks-encryption-decryption-ndk.md 示例代码片段的工程化,主要目标是实现指南中示例代码需要与sample工程文件同源。
#### Call C/C++
##### 介绍
1. 本示例主要介绍加解密,以AES 256密钥为例,完成加解密。
##### 效果预览
| 主页 | |
| -------------------------------------------------- | -------------------------------------------------- |
|
|
|
使用说明
1. 点击Call C/C++按钮生成密钥,加密数据并解密数据,删除密钥。
## 工程目录
```
entry/src/main/
|---ets
|---|---entryability
|---|---|---EntryAbility.ets
|---|---pages
|---|---|---AESCBCPKCS7.ets
|---|---|---AESGCMNoPadding.ets
|---|---|---Index.ets // 首页
|---|---|---RSAECBOAEPSHA256.ets
|---|---|---RSAECBPKCS1_V1_5.ets
|---|---|---SM2.ets
|---cpp
|---resources // 静态资源
|---ohosTest
|---|---ets
|---|---|---tests
|---|---|---|---EncryptionDecryption.test.ets // 自动化测试用例
```
## 相关权限
无。
## 依赖
不涉及。
## 约束与限制
1. 本示例仅支持标准系统上运行,支持设备:RK3568。
2. 本示例支持API14版本SDK,SDK版本号(API Version 14 Release)。
3. 本示例需要使用DevEco Studio 版本号(5.0.1Release)才可编译运行。
## 下载
如需单独下载本工程,执行如下命令:
```
git init
git config core.sparsecheckout true
echo code/DocsSample/Security/UniversalKeystoreKit/KeyUsage/EncryptionDecryption > .git/info/sparse-checkout
git remote add origin https://gitee.com/openharmony/applications_app_samples.git
git pull origin master
```