public class Sm4Util extends Object
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
ALGORITHM_NAME |
static String |
DEFAULT_KEY |
static int |
DEFAULT_KEY_SIZE
128 -32位16进制;256 -64位16进制
|
| 构造器和说明 |
|---|
Sm4Util() |
| 限定符和类型 | 方法和说明 |
|---|---|
static String |
decrypt(String algorithmName,
String key,
String iv,
String data)
解密
|
static String |
decryptCBC(String key,
String iv,
String data)
解密
|
static String |
decryptECB(String key,
String data)
解密
|
static String |
encrypt(String algorithmName,
String key,
String iv,
String data)
加密
|
static String |
encryptCBC(String key,
String iv,
String data)
加密
|
static String |
encryptECB(String key,
String data)
加密
|
static String |
generateIv()
生产 16位的 iv
|
static String |
generateKey()
生产 key,长度默认 128
|
static String |
generateKey(String seed)
生产 key,长度默认 128
|
static String |
generateKey(String seed,
int keySize)
生产 key
|
private static byte[] |
sm4core(String algorithmName,
int type,
byte[] key,
byte[] iv,
byte[] data)
加解密核心方法
|
public static final int DEFAULT_KEY_SIZE
public static String generateKey()
public static String generateKey(String seed, int keySize)
seed - 种子keySize - 长度public static String generateIv()
public static String encryptCBC(String key, String iv, String data)
key - 密钥iv - IVdata - 原文public static String decryptCBC(String key, String iv, String data)
key - 密钥iv - IVdata - 加密数据public static String encryptECB(String key, String data)
key - 密钥data - 原文public static String decryptECB(String key, String data)
key - 密钥data - 加密数据public static String encrypt(String algorithmName, String key, String iv, String data)
algorithmName - 算法key - 密钥iv - IVdata - 原文public static String decrypt(String algorithmName, String key, String iv, String data)
algorithmName - 算法key - 密钥iv - IVdata - 加密数据private static byte[] sm4core(String algorithmName, int type, byte[] key, byte[] iv, byte[] data)
algorithmName - 算法type - 加解密类型(加密:Cipher.ENCRYPT_MODE,解密:Cipher.DECRYPT_MODE)key - 密钥iv - IVdata - 原文或密文Copyright © 2025. All rights reserved.