java.lang.Object
icu.xuyijie.sm4encryptanddecryptutil.util.Util

public class Util extends Object
  • 构造器详细资料

    • Util

      public Util()
  • 方法详细资料

    • intToBytes

      public static byte[] intToBytes(int num)
      整形转换成网络传输的字节流(字节数组)型数据
      参数:
      num - 一个整型数据
      返回:
      4个字节的自己数组
    • byteToInt

      public static int byteToInt(byte[] bytes)
      四个字节的字节数据转换成一个整形数据
      参数:
      bytes - 4个字节的字节数组
      返回:
      一个整型数据
    • longToBytes

      public static byte[] longToBytes(long num)
      长整形转换成网络传输的字节流(字节数组)型数据
      参数:
      num - 一个长整型数据
      返回:
      4个字节的自己数组
    • byteConvert32Bytes

      public static byte[] byteConvert32Bytes(BigInteger n)
      大数字转换字节流(字节数组)型数据
      参数:
      n -
      返回:
    • byteConvertInteger

      public static BigInteger byteConvertInteger(byte[] b)
      换字节流(字节数组)型数据转大数字
      参数:
      b -
      返回:
    • getHexString

      public static String getHexString(byte[] bytes)
      根据字节数组获得值(十六进制数字)
      参数:
      bytes -
      返回:
    • getHexString

      public static String getHexString(byte[] bytes, boolean upperCase)
      根据字节数组获得值(十六进制数字)
      参数:
      bytes -
      upperCase -
      返回:
    • printHexString

      public static void printHexString(byte[] bytes)
      打印十六进制字符串
      参数:
      bytes -
    • hexStringToBytes

      public static byte[] hexStringToBytes(String hexString)
      Convert hex string to byte[]
      参数:
      hexString - the hex string
      返回:
      byte[]
    • charToByte

      public static byte charToByte(char c)
      Convert char to byte
      参数:
      c - char
      返回:
      byte
    • encodeHex

      public static char[] encodeHex(byte[] data)
      将字节数组转换为十六进制字符数组
      参数:
      data - byte[]
      返回:
      十六进制char[]
    • encodeHex

      public static char[] encodeHex(byte[] data, boolean toLowerCase)
      将字节数组转换为十六进制字符数组
      参数:
      data - byte[]
      toLowerCase - true 传换成小写格式 , false 传换成大写格式
      返回:
      十六进制char[]
    • encodeHex

      protected static char[] encodeHex(byte[] data, char[] toDigits)
      将字节数组转换为十六进制字符数组
      参数:
      data - byte[]
      toDigits - 用于控制输出的char[]
      返回:
      十六进制char[]
    • encodeHexString

      public static String encodeHexString(byte[] data)
      将字节数组转换为十六进制字符串
      参数:
      data - byte[]
      返回:
      十六进制String
    • encodeHexString

      public static String encodeHexString(byte[] data, boolean toLowerCase)
      将字节数组转换为十六进制字符串
      参数:
      data - byte[]
      toLowerCase - true 传换成小写格式 , false 传换成大写格式
      返回:
      十六进制String
    • encodeHexString

      protected static String encodeHexString(byte[] data, char[] toDigits)
      将字节数组转换为十六进制字符串
      参数:
      data - byte[]
      toDigits - 用于控制输出的char[]
      返回:
      十六进制String
    • decodeHex

      public static byte[] decodeHex(char[] data)
      将十六进制字符数组转换为字节数组
      参数:
      data - 十六进制char[]
      返回:
      byte[]
      抛出:
      RuntimeException - 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常
    • toDigit

      protected static int toDigit(char ch, int index)
      将十六进制字符转换成一个整数
      参数:
      ch - 十六进制char
      index - 十六进制字符在字符数组中的位置
      返回:
      一个整数
      抛出:
      RuntimeException - 当ch不是一个合法的十六进制字符时,抛出运行时异常
    • StringToAsciiString

      public static String StringToAsciiString(String content)
      数字字符串转ASCII码字符串
      参数:
      content - 字符串
      返回:
      ASCII字符串
    • hexStringToString

      public static String hexStringToString(String hexString, int encodeType)
      十六进制转字符串
      参数:
      hexString - 十六进制字符串
      encodeType - 编码类型4:Unicode,2:普通编码
      返回:
      字符串
    • hexStringToAlgorism

      public static int hexStringToAlgorism(String hex)
      十六进制字符串装十进制
      参数:
      hex - 十六进制字符串
      返回:
      十进制数值
    • hexStringToBinary

      public static String hexStringToBinary(String hex)
      十六转二进制
      参数:
      hex - 十六进制字符串
      返回:
      二进制字符串
    • AsciiStringToString

      public static String AsciiStringToString(String content)
      ASCII码字符串转数字字符串
      参数:
      content - ASCII字符串
      返回:
      字符串
    • algorismToHexString

      public static String algorismToHexString(int algorism, int maxLength)
      将十进制转换为指定长度的十六进制字符串
      参数:
      algorism - int 十进制数字
      maxLength - int 转换后的十六进制字符串长度
      返回:
      String 转换后的十六进制字符串
    • byteToString

      public static String byteToString(byte[] bytearray)
      字节数组转为普通字符串(ASCII对应的字符)
      参数:
      bytearray - byte[]
      返回:
      String
    • binaryToAlgorism

      public static int binaryToAlgorism(String binary)
      二进制字符串转十进制
      参数:
      binary - 二进制字符串
      返回:
      十进制数值
    • algorismToHEXString

      public static String algorismToHEXString(int algorism)
      十进制转换为十六进制字符串
      参数:
      algorism - int 十进制的数字
      返回:
      String 对应的十六进制字符串
    • patchHexString

      public static String patchHexString(String str, int maxLength)
      HEX字符串前补0,主要用于长度位数不足。
      参数:
      str - String 需要补充长度的十六进制字符串
      maxLength - int 补充后十六进制字符串的长度
      返回:
      补充结果
    • parseToInt

      public static int parseToInt(String s, int defaultInt, int radix)
      将一个字符串转换为int
      参数:
      s - String 要转换的字符串
      defaultInt - int 如果出现异常,默认返回的数字
      radix - int 要转换的字符串是什么进制的,如16 8 10.
      返回:
      int 转换后的数字
    • parseToInt

      public static int parseToInt(String s, int defaultInt)
      将一个十进制形式的数字字符串转换为int
      参数:
      s - String 要转换的字符串
      defaultInt - int 如果出现异常,默认返回的数字
      返回:
      int 转换后的数字
    • hexToByte

      public static byte[] hexToByte(String hex) throws IllegalArgumentException
      十六进制串转化为byte数组
      返回:
      the array of byte
      抛出:
      IllegalArgumentException
    • byteToHex

      public static String byteToHex(byte[] b)
      字节数组转换为十六进制字符串
      参数:
      b - byte[] 需要转换的字节数组
      返回:
      String 十六进制字符串
    • subByte

      public static byte[] subByte(byte[] input, int startIndex, int length)