本文为您介绍资产安全涉及的加解密算法的类型、密钥长度以及高级设置范围等。
加解密算法
加解密算法 | 类型 | 描述 | 密钥长度 | 示例 |
---|---|---|---|---|
AES | 对称加密 | 通用加密算法AES,使用相同的密钥进行加解密。 | 包含128位(16字节)、192位(24字节)、256位(32字节) |
输入:明文+密钥+参数(可选,加密算法的配置参数) 输出:密文对应算法为ddAesEncryption/ddAesDecryption |
DES | 对称加密 | 通用加密算法DES,使用相同的密钥进行加解密。 | 64位(8个字节) |
输入:明文+密钥+参数(可选,加密算法的配置参数) 输出:密文对应算法为ddDesEncryption/ddDesDecryption |
3DES | 对称加密 | 通用加密算法3DES,使用相同的密钥进行加解密。 | 3个64位密钥(24个字节) |
输入:明文+密钥+参数(可选,加密算法的配置参数) 输出:密文对应算法为dd3DesEncryption/dd3DesDecryption |
SM4 | 对称加密 | 通用加密算法SM4,国家密码局认定的国产密码算法,使用相同的密钥进行加解密。 | 128位(16个字节) |
输入:明文+密钥+参数(可选,加密算法的配置参数) 输出:密文对应算法为ddSm4Encryption/ddSm4Decryption |
RSA | 非对称加密 | 通用加密算法RSA,使用不同的密钥进行加密和解密,使用上更加安全。 | 包含1024位(128字节)、2048位(256字节)、4096位(512字节)
说明 实际生产使用中,存在编码转换等问题,密钥长度并不一定128字节,且涉及到公钥、私钥的问题,因此建议您使用专门的函数生成和检验,不能单纯通过位数判断。
|
输入:明文+密钥+参数(可选,加密算法的配置参数) 输出:密文对应算法为ddRsaEncryption/ddRsaDecryption |
SM2 | 非对称加密 | 通用加密算法SM2,国家密码局认定的国产密码算法,使用不同的密钥进行加密和解密,使用上更加安全。 | 256位(32字节) |
输入:明文+密钥+参数(可选,加密算法的配置参数) 输出:密文对应算法为ddSm2Encryption/ddSm2Decryption |
加解密算法高级设置范围
加解密算法 | 模式 | 填充 | IV(偏移量) | 备注 |
---|---|---|---|---|
AES | ECB | NoPadding | 不支持 | 加密数据长度必须为16的倍数 |
AES | ECB | PKCS5Padding | 不支持 | 推荐 |
AES | ECB | PKCS7Padding | 不支持 | 无 |
AES | CBC | NoPadding | 长度必须为16位 | 加密数据长度必须为16的倍数 |
AES | CBC | PKCS5Padding | 长度必须为16位 | 无 |
AES | CBC | PKCS7Padding | 长度必须为16位 | 无 |
AES | CFB | NoPadding | 长度必须为16位 | 无 |
AES | CFB | PKCS5Padding | 长度必须为16位 | 无 |
AES | CFB | PKCS7Padding | 长度必须为16位 | 无 |
AES | CTR | NoPadding | 长度必须为16位 | 无 |
AES | CTR | PKCS5Padding | 长度必须为16位 | 无 |
AES | CTR | PKCS7Padding | 长度必须为16位 | 无 |
AES | OFB | NoPadding | 长度必须为16位 | 无 |
AES | OFB | PKCS5Padding | 长度必须为16位 | 无 |
AES | OFB | PKCS7Padding | 长度必须为16位 | 无 |
DES | ECB | NoPadding | 不支持 | 加密数据长度必须为8的倍数 |
DES | ECB | PKCS5Padding | 不支持 | 推荐 |
DES | ECB | PKCS7Padding | 不支持 | 无 |
DES | CBC | NoPadding | 长度必须为8位 | 加密数据长度必须为16的倍数 |
DES | CBC | PKCS5Padding | 长度必须为8位 | 无 |
DES | CBC | PKCS7Padding | 长度必须为8位 | 无 |
DES | CFB | NoPadding | 长度必须为8位 | 无 |
DES | CFB | PKCS5Padding | 长度必须为8位 | 无 |
DES | CFB | PKCS7Padding | 长度必须为8位 | 无 |
DES | CTR | NoPadding | 长度必须为8位 | 无 |
DES | CTR | PKCS5Padding | 长度必须为8位 | 无 |
DES | CTR | PKCS7Padding | 长度必须为8位 | 无 |
DES | OFB | NoPadding | 长度必须为8位 | 无 |
DES | OFB | PKCS5Padding | 长度必须为8位 | 无 |
DES | OFB | PKCS7Padding | 长度必须为8位 | 无 |
3DES | ECB | NoPadding | 不支持 | 加密数据长度必须为8的倍数 |
3DES | ECB | PKCS5Padding | 不支持 | 推荐 |
3DES | ECB | PKCS7Padding | 不支持 | 无 |
3DES | CBC | NoPadding | 长度必须为8位 | 加密数据长度必须为16的倍数 |
3DES | CBC | PKCS5Padding | 长度必须为8位 | 无 |
3DES | CBC | PKCS7Padding | 长度必须为8位 | 无 |
3DES | CFB | NoPadding | 长度必须为8位 | 无 |
3DES | CFB | PKCS5Padding | 长度必须为8位 | 无 |
3DES | CFB | PKCS7Padding | 长度必须为8位 | 无 |
3DES | CTR | NoPadding | 长度必须为8位 | 无 |
3DES | CTR | PKCS5Padding | 长度必须为8位 | 无 |
3DES | CTR | PKCS7Padding | 长度必须为8位 | 无 |
3DES | OFB | NoPadding | 长度必须为8位 | 无 |
3DES | OFB | PKCS5Padding | 长度必须为8位 | 无 |
3DES | OFB | PKCS7Padding | 长度必须为8位 | 无 |
SM4 | ECB | NoPadding | 不支持 | 加密数据长度必须为16的倍数 |
SM4 | ECB | PKCS5Padding | 不支持 | 推荐 |
SM4 | ECB | PKCS7Padding | 不支持 | 无 |
SM4 | CBC | NoPadding | 长度必须为16位 | 加密数据长度必须为16的倍数 |
SM4 | CBC | PKCS5Padding | 长度必须为16位 | 无 |
SM4 | CBC | PKCS7Padding | 长度必须为16位 | 无 |
SM4 | CFB | NoPadding | 长度必须为16位 | 无 |
SM4 | CFB | PKCS5Padding | 长度必须为16位 | 无 |
SM4 | CFB | PKCS7Padding | 长度必须为16位 | 无 |
SM4 | CTR | NoPadding | 长度必须为16位 | 无 |
SM4 | CTR | PKCS5Padding | 长度必须为16位 | 无 |
SM4 | CTR | PKCS7Padding | 长度必须为16位 | 无 |
SM4 | OFB | NoPadding | 长度必须为16位 | 无 |
SM4 | OFB | PKCS5Padding | 长度必须为16位 | 无 |
SM4 | OFB | PKCS7Padding | 长度必须为16位 | 无 |
SM2 | 不涉及 | 不涉及 | 不涉及 | 无 |
RSA | ECB | NoPadding | 不涉及 | 无 |
RSA | ECB | PKCS1Padding | 不涉及 | 推荐 |
RSA | ECB | OAEPPadding | 不涉及 | 无 |
RSA | NONE | NoPadding | 不涉及 | 无 |
RSA | NONE | PKCS1Padding | 不涉及 | 无 |
RSA | NONE | OAEPPadding | 不涉及 | 无 |