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