1# 加密/解密介绍及算法规格 2 3<!--Kit: Universal Keystore Kit--> 4<!--Subsystem: Security--> 5<!--Owner: @wutiantian-gitee--> 6<!--Designer: @HighLowWorld--> 7<!--Tester: @wxy1234564846--> 8<!--Adviser: @zengyawen--> 9 10在HUKS中已经有密钥,需要对一段数据加密或是解密,均可以使用HUKS完成加密/解密操作。 11 12## 支持的算法 13 14以下为密钥加密/解密支持的规格说明。 15<!--Del--> 16面向OpenHarmony的厂商适配密钥管理服务规格分为必选规格和可选规格。必选规格为所有厂商均支持的算法规格。而对于可选规格,厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。 17 18**建议开发者使用必选规格开发应用,可保证全平台兼容。** 19<!--DelEnd--> 20 21**<!--RP1-->标准设备<!--RP1End-->规格** 22 23| 算法/分组模式/填充模式 | 备注 | API级别 | <!--DelCol4-->是否必选规格 | 24| -------- | -------- | -------- | -------- | 25| <!--DelRow-->AES/ECB/NoPadding<br/>AES/ECB/PKCS7 | ECB模式下,若填充模式选择为NoPadding,因为该模式下要求明文数据必须按照固定长度的块进行加密,如果输入的数据长度不是16的倍数,就需要业务方自行填充,以满足块长度的要求。 | 8+ | 否 | 26| AES/CBC/NoPadding<br/>AES/CBC/PKCS7<br/>AES/CTR/NoPadding | IV参数必选;CBC模式下,若填充模式选择为NoPadding,因为该模式下要求明文数据必须按照固定长度的块进行加密,如果输入的数据长度不是16的倍数,就需要业务方自行填充,以满足块长度的要求。 | 8+ | 是 | 27| AES/GCM/NoPadding | 加密:Nonce参数必选。<br/>解密:Nonce、TAG参数必选。 | 8+ | 是 | 28| RSA/ECB/NoPadding<br/>RSA/ECB/PKCS1_V1_5<br/>RSA/ECB/OAEP | OAEP填充模式支持的摘要算法:SHA256/SHA384/SHA512。 | 8+ | 是 | 29| <!--DelRow-->SM4/ECB/NoPadding<br/>SM4/ECB/PKCS7 | ECB模式不推荐使用。 | 9+ | 否 | 30| SM4/ECB/PKCS7 | ECB模式不推荐使用。 | 20+ | 是 | 31| SM4/CBC/PKCS7 | IV 参数必选。 | 9+ | 是 | 32| SM4/CTR/NoPadding<br/>SM4/CBC/NoPadding<br/>SM4/CFB/NoPadding<br/>SM4/OFB/NoPadding | IV 参数必选。 | 12+ | 是 | 33| SM2/-/NoPadding | 摘要算法SM3。 | 11+ | 是 | 34| DES/CBC/NoPadding<br/>DES/ECB/NoPadding | CBC模式下 IV 参数必选。 | 18+ | 是 | 35| 3DES/CBC/NoPadding<br/>3DES/ECB/NoPadding | CBC模式下 IV 参数必选。 | 18+ | 是 | 36 37**<!--RP2-->轻量级设备<!--RP2End-->规格** 38 39<!--Del--> 40轻量级设备所列规格,OEM厂商将基于实际情况决定是否实现,如需使用,请查阅具体厂商提供的说明,确保规格支持再使用。 41<!--DelEnd--> 42 43| 算法/分组模式/填充模式 | 备注 | API级别 | 44| -------- | -------- | -------- | 45| AES/GCM/NoPadding | 加密:Nonce参数必选。<br/>解密:Nonce、TAG参数必选。 | 8+ | 46| AES/CBC/NoPadding<br/>AES/CTR/NoPadding | IV参数必选。 | 11+ | 47| DES/ECB/NoPadding | - | 12+ | 48| DES/CBC/NoPadding | IV参数必选。 | 12+ | 49| 3DES/ECB/NoPadding | - | 12+ | 50| 3DES/CBC/NoPadding | IV参数必选。 | 12+ | 51| RSA/ECB/NoPadding | - | 12+ | 52| RSA/ECB/PKCS1_V1_5 | - | 12+ | 53| RSA/ECB/OAEP | 摘要算法SHA256。 | 12+ |