public class SM4Util
extends java.lang.Object
| 构造器和说明 |
|---|
SM4Util() |
| 限定符和类型 | 方法和说明 |
|---|---|
static java.lang.String |
generateSM4RandomIV()
生成CBC模式随机IV(16字节=32位十六进制)
|
static java.lang.String |
generateSM4RandomKey()
生成SM4随机密钥(16字节=32位十六进制,加密/解密需使用同一密钥)
|
static java.lang.String |
sm4CbcDecryptFromBase64(java.lang.String cipherTextBase64,
java.lang.String key,
java.lang.String iv)
SM4 CBC 解密(输入Base64格式密文)
|
static java.lang.String |
sm4CbcEncryptToBase64(java.lang.String plainText,
java.lang.String key,
java.lang.String iv)
SM4 CBC 加密(输出Base64格式密文)
|
static java.lang.String |
sm4EcbDecryptFromBase64(java.lang.String cipherTextBase64,
java.lang.String key)
SM4 ECB 解密(输入Base64格式密文)
|
static java.lang.String |
sm4EcbEncryptToBase64(java.lang.String plainText,
java.lang.String key)
SM4 ECB 加密(输出Base64格式密文)
|
public static java.lang.String generateSM4RandomKey()
public static java.lang.String generateSM4RandomIV()
public static java.lang.String sm4EcbEncryptToBase64(java.lang.String plainText,
java.lang.String key)
throws org.bouncycastle.crypto.InvalidCipherTextException
plainText - 待加密明文key - 十六进制格式SM4密钥(32位,16字节)java.lang.Exception - 加密失败异常(密钥非法、数据格式错误等)org.bouncycastle.crypto.InvalidCipherTextExceptionpublic static java.lang.String sm4EcbDecryptFromBase64(java.lang.String cipherTextBase64,
java.lang.String key)
throws org.bouncycastle.crypto.InvalidCipherTextException
cipherTextBase64 - Base64格式密文key - 十六进制格式SM4密钥(32位,16字节)java.lang.Exception - 解密失败异常(密钥错误、密文篡改、格式错误等)org.bouncycastle.crypto.InvalidCipherTextExceptionpublic static java.lang.String sm4CbcEncryptToBase64(java.lang.String plainText,
java.lang.String key,
java.lang.String iv)
throws org.bouncycastle.crypto.InvalidCipherTextException
plainText - 待加密明文key - 十六进制格式SM4密钥(32位,16字节)iv - 十六进制格式IV(32位,16字节)java.lang.Exception - 加密失败异常org.bouncycastle.crypto.InvalidCipherTextExceptionpublic static java.lang.String sm4CbcDecryptFromBase64(java.lang.String cipherTextBase64,
java.lang.String key,
java.lang.String iv)
throws org.bouncycastle.crypto.InvalidCipherTextException
cipherTextBase64 - Base64格式密文key - 十六进制格式SM4密钥(32位,16字节)iv - 十六进制格式IV(32位,16字节,必须与加密时一致)java.lang.Exception - 解密失败异常(密钥/IV错误、密文篡改等)org.bouncycastle.crypto.InvalidCipherTextException