• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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````