类 SM4Utils

java.lang.Object
com.cdkjframework.util.encrypts.china.SM4Utils

public class SM4Utils extends Object
  • 字段详细资料

    • ALGORITHM_NAME

      public static final String ALGORITHM_NAME
      算法名称
      另请参阅:
    • ALGORITHM_NAME_CBC_PADDING

      public static final String ALGORITHM_NAME_CBC_PADDING
      加密算法/分组加密模式/分组填充方式 PKCS5Padding-以8个字节为一组进行分组加密 定义分组加密模式使用:PKCS5Padding
      另请参阅:
    • DEFAULT_KEY_SIZE

      public static final int DEFAULT_KEY_SIZE
      128-32位16进制;256-64位16进制
      另请参阅:
  • 构造器详细资料

    • SM4Utils

      public SM4Utils()
  • 方法详细资料

    • generateKey

      public static byte[] generateKey() throws Exception
      自动生成密钥
      返回:
      返回密钥
      抛出:
      Exception
    • generateKeyString

      public static String generateKeyString() throws Exception
      自动生成密钥
      返回:
      返回结果
      抛出:
      Exception - 异常信息
    • generateKey

      public static byte[] generateKey(int keySize) throws Exception
      生成KEY
      参数:
      keySize - KEY大小
      返回:
      返回结果
      抛出:
      Exception - 异常信息
    • encrypt

      public static String encrypt(String hexKey, String paramStr) throws Exception
      sm4加密
      参数:
      hexKey - 16进制密钥(忽略大小写)
      paramStr - 待加密字符串
      返回:
      返回16进制的加密字符串
      抛出:
      Exception
    • encryptCbcPadding

      public static byte[] encryptCbcPadding(byte[] key, byte[] data) throws Exception
      加密模式之CBC
      参数:
      key - key
      data - 数据
      返回:
      返回结果
      抛出:
      Exception - 异常
    • generateIV

      public static AlgorithmParameters generateIV() throws Exception
      生成iv
      返回:
      返回结果
      抛出:
      Exception - 异常
    • decrypt

      public static String decrypt(String hexKey, String text) throws Exception
      sm4解密
      参数:
      hexKey - 16进制密钥
      text - 16进制的加密字符串(忽略大小写)
      返回:
      解密后的字符串
      抛出:
      Exception
    • decryptCbcPadding

      public static byte[] decryptCbcPadding(byte[] key, byte[] cipherText) throws Exception
      解密
      参数:
      key - KEY
      cipherText - 密码文本
      返回:
      返回字节
      抛出:
      Exception - 异常
    • main

      public static void main(String[] args) throws Exception
      抛出:
      Exception