public class Sm4Util extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
ALGORITHM_NAME |
static String |
ALGORITHM_NAME_ECB_PADDING
加密算法/分组加密模式/分组填充方式
PKCS5Padding-以8个字节为一组进行分组加密
定义分组加密模式使用:PKCS5Padding
|
static int |
DEFAULT_KEY_SIZE
128-32位16进制;256-64位16进制
|
| 构造器和说明 |
|---|
Sm4Util() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
cbcDecrypt(String text,
String key,
String iv)
国密sm4解密,使用cbc模式
|
static String |
decrypt(String text,
String key,
String iv,
String mode,
String padding)
国密sm4解密,支持自定义参数
|
static String |
decryptEcb(String hexKey,
String cipherText)
sm4解密
|
static byte[] |
decryptEcbPadding(byte[] key,
byte[] cipherText)
解密
|
static String |
decryptEcbThrowException(String hexKey,
String cipherText) |
static String |
encryptEcb(String hexKey,
String paramStr)
已过时。
|
static String |
encryptEcbByHutool(String hexKey,
String paramStr)
使用hutool sm4加密,比原加密方法快
|
static byte[] |
encryptEcbPadding(byte[] key,
byte[] data)
加密模式之Ecb
|
static String |
generateKey()
自动生成密钥
|
static byte[] |
generateKey(int keySize) |
static boolean |
verifyEcb(String hexKey,
String cipherText,
String paramStr)
校验加密前后的字符串是否为同一数据
|
public static final String ALGORITHM_NAME_ECB_PADDING
public static final int DEFAULT_KEY_SIZE
public static byte[] generateKey(int keySize)
throws Exception
keySize - Exception@Deprecated public static String encryptEcb(String hexKey, String paramStr)
hexKey - 16进制密钥(忽略大小写)paramStr - 待加密字符串public static String encryptEcbByHutool(String hexKey, String paramStr)
hexKey - 16进制密钥(忽略大小写)paramStr - 待加密字符串public static byte[] encryptEcbPadding(byte[] key,
byte[] data)
throws Exception
key - data - Exceptionpublic static String decryptEcb(String hexKey, String cipherText)
hexKey - 16进制密钥cipherText - 16进制的加密字符串(忽略大小写)Exceptionpublic static String decryptEcbThrowException(String hexKey, String cipherText) throws Exception
Exceptionpublic static byte[] decryptEcbPadding(byte[] key,
byte[] cipherText)
throws Exception
key - cipherText - Exceptionpublic static boolean verifyEcb(String hexKey, String cipherText, String paramStr) throws Exception
hexKey - 16进制密钥(忽略大小写)cipherText - 16进制加密后的字符串paramStr - 加密前的字符串Exceptionpublic static String cbcDecrypt(String text, String key, String iv)
text - 内容key - 密钥Copyright © 2025. All rights reserved.