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