Package cn.gmkit.sm3
Class SM3Util
java.lang.Object
cn.gmkit.sm3.SM3Util
SM3 静态工具入口。
适合直接按工具类方式计算摘要或 HMAC,例如在工具方法、表达式链或历史代码中快速接入。
本类与 SM3 的对象式接口在能力上完全一致,仅调用形式不同。
-
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionstatic byte[]digest(byte[] data) 计算字节数组的 SM3 摘要。static byte[]计算 UTF-8 字符串的 SM3 摘要。static byte[]使用指定字符集计算字符串的 SM3 摘要。static StringdigestBase64(byte[] data) 计算字节数组的 SM3 摘要并输出 Base64 字符串。static StringdigestBase64(String data) 计算 UTF-8 字符串的 SM3 摘要并输出 Base64 字符串。static StringdigestBase64(String data, Charset charset) 使用指定字符集计算字符串的 SM3 摘要并输出 Base64 字符串。static StringdigestHex(byte[] data) 计算字节数组的 SM3 摘要并输出十六进制字符串。static String计算 UTF-8 字符串的 SM3 摘要并输出十六进制字符串。static String使用指定字符集计算字符串的 SM3 摘要并输出十六进制字符串。static byte[]hmac(byte[] key, byte[] data) 计算 HMAC-SM3。static byte[]计算 UTF-8 字符串的 HMAC-SM3。static byte[]使用指定字符集计算字符串的 HMAC-SM3。static StringhmacBase64(byte[] key, byte[] data) 计算 HMAC-SM3 并输出 Base64 字符串。static StringhmacBase64(byte[] key, String data) 计算 UTF-8 字符串的 HMAC-SM3 并输出 Base64 字符串。static StringhmacBase64(byte[] key, String data, Charset charset) 使用指定字符集计算字符串的 HMAC-SM3 并输出 Base64 字符串。static StringhmacHex(byte[] key, byte[] data) 计算 HMAC-SM3 并输出十六进制字符串。static String计算 UTF-8 字符串的 HMAC-SM3 并输出十六进制字符串。static String使用指定字符集计算字符串的 HMAC-SM3 并输出十六进制字符串。
-
Field Details
-
DIGEST_LENGTH
public static final int DIGEST_LENGTHSM3 摘要长度,单位为字节。- See Also:
-
-
Method Details
-
digest
public static byte[] digest(byte[] data) 计算字节数组的 SM3 摘要。- Parameters:
data- 输入数据,不能为null- Returns:
- 32 字节摘要
-
digest
计算 UTF-8 字符串的 SM3 摘要。- Parameters:
data- 输入字符串- Returns:
- 32 字节摘要
-
digest
使用指定字符集计算字符串的 SM3 摘要。- Parameters:
data- 输入字符串charset- 字符集;传入null时默认使用 UTF-8- Returns:
- 32 字节摘要
-
digestHex
计算字节数组的 SM3 摘要并输出十六进制字符串。- Parameters:
data- 输入字节数组- Returns:
- 十六进制摘要
-
digestHex
计算 UTF-8 字符串的 SM3 摘要并输出十六进制字符串。- Parameters:
data- 输入字符串- Returns:
- 十六进制摘要
-
digestHex
使用指定字符集计算字符串的 SM3 摘要并输出十六进制字符串。- Parameters:
data- 输入字符串charset- 字符集;传入null时默认使用 UTF-8- Returns:
- 十六进制摘要
-
digestBase64
计算字节数组的 SM3 摘要并输出 Base64 字符串。- Parameters:
data- 输入字节数组- Returns:
- Base64 摘要
-
digestBase64
计算 UTF-8 字符串的 SM3 摘要并输出 Base64 字符串。- Parameters:
data- 输入字符串- Returns:
- Base64 摘要
-
digestBase64
使用指定字符集计算字符串的 SM3 摘要并输出 Base64 字符串。- Parameters:
data- 输入字符串charset- 字符集;传入null时默认使用 UTF-8- Returns:
- Base64 摘要
-
hmac
public static byte[] hmac(byte[] key, byte[] data) 计算 HMAC-SM3。- Parameters:
key- HMAC 密钥data- 输入字节数组- Returns:
- 32 字节 HMAC 结果
-
hmac
计算 UTF-8 字符串的 HMAC-SM3。- Parameters:
key- HMAC 密钥data- 输入字符串- Returns:
- 32 字节 HMAC 结果
-
hmac
使用指定字符集计算字符串的 HMAC-SM3。- Parameters:
key- HMAC 密钥data- 输入字符串charset- 字符集;传入null时默认使用 UTF-8- Returns:
- 32 字节 HMAC 结果
-
hmacHex
计算 HMAC-SM3 并输出十六进制字符串。- Parameters:
key- HMAC 密钥data- 输入字节数组- Returns:
- 十六进制 HMAC
-
hmacHex
计算 UTF-8 字符串的 HMAC-SM3 并输出十六进制字符串。- Parameters:
key- HMAC 密钥data- 输入字符串- Returns:
- 十六进制 HMAC
-
hmacHex
使用指定字符集计算字符串的 HMAC-SM3 并输出十六进制字符串。- Parameters:
key- HMAC 密钥data- 输入字符串charset- 字符集;传入null时默认使用 UTF-8- Returns:
- 十六进制 HMAC
-
hmacBase64
计算 HMAC-SM3 并输出 Base64 字符串。- Parameters:
key- HMAC 密钥data- 输入字节数组- Returns:
- Base64 HMAC
-
hmacBase64
计算 UTF-8 字符串的 HMAC-SM3 并输出 Base64 字符串。- Parameters:
key- HMAC 密钥data- 输入字符串- Returns:
- Base64 HMAC
-
hmacBase64
使用指定字符集计算字符串的 HMAC-SM3 并输出 Base64 字符串。- Parameters:
key- HMAC 密钥data- 输入字符串charset- 字符集;传入null时默认使用 UTF-8- Returns:
- Base64 HMAC
-