com.gbasedbt.judr.crypt.sm4
类 Util

java.lang.Object
  继承者 com.gbasedbt.judr.crypt.sm4.Util

public class Util
extends java.lang.Object


构造方法摘要
Util()
           
 
方法摘要
static java.lang.String algorismToHEXString(int algorism)
          十进制转换为十六进制字符串
static java.lang.String algorismToHexString(int algorism, int maxLength)
          将十进制转换为指定长度的十六进制字符串
static java.lang.String AsciiStringToString(java.lang.String content)
          ASCII码字符串转数字字符串
static int binaryToAlgorism(java.lang.String binary)
          二进制字符串转十进制
static byte[] byteConvert32Bytes(java.math.BigInteger n)
          大数字转换字节流(字节数组)型数据
static java.math.BigInteger byteConvertInteger(byte[] b)
          换字节流(字节数组)型数据转大数字
static java.lang.String byteToHex(byte[] b)
          字节数组转换为十六进制字符串
static int byteToInt(byte[] bytes)
          四个字节的字节数据转换成一个整形数据
static java.lang.String byteToString(byte[] bytearray)
          字节数组转为普通字符串(ASCII对应的字符)
static byte charToByte(char c)
          Convert char to byte
static byte[] decodeHex(char[] data)
          将十六进制字符数组转换为字节数组
static char[] encodeHex(byte[] data)
          将字节数组转换为十六进制字符数组
static char[] encodeHex(byte[] data, boolean toLowerCase)
          将字节数组转换为十六进制字符数组
protected static char[] encodeHex(byte[] data, char[] toDigits)
          将字节数组转换为十六进制字符数组
static java.lang.String encodeHexString(byte[] data)
          将字节数组转换为十六进制字符串
static java.lang.String encodeHexString(byte[] data, boolean toLowerCase)
          将字节数组转换为十六进制字符串
protected static java.lang.String encodeHexString(byte[] data, char[] toDigits)
          将字节数组转换为十六进制字符串
static java.lang.String getHexString(byte[] bytes)
          根据字节数组获得值(十六进制数字)
static java.lang.String getHexString(byte[] bytes, boolean upperCase)
          根据字节数组获得值(十六进制数字)
static int hexStringToAlgorism(java.lang.String hex)
          十六进制字符串装十进制
static java.lang.String hexStringToBinary(java.lang.String hex)
          十六转二进制
static byte[] hexStringToBytes(java.lang.String hexString)
          Convert hex string to byte[]
static java.lang.String hexStringToString(java.lang.String hexString, int encodeType)
          十六进制转字符串
static byte[] hexToByte(java.lang.String hex)
          十六进制串转化为byte数组
static byte[] intToBytes(int num)
          整形转换成网络传输的字节流(字节数组)型数据
static byte[] longToBytes(long num)
          长整形转换成网络传输的字节流(字节数组)型数据
static int parseToInt(java.lang.String s, int defaultInt)
          将一个十进制形式的数字字符串转换为int
static int parseToInt(java.lang.String s, int defaultInt, int radix)
          将一个字符串转换为int
static java.lang.String patchHexString(java.lang.String str, int maxLength)
          HEX字符串前补0,主要用于长度位数不足。
static void printHexString(byte[] bytes)
          打印十六进制字符串
static java.lang.String StringToAsciiString(java.lang.String content)
          数字字符串转ASCII码字符串
static byte[] subByte(byte[] input, int startIndex, int length)
           
protected static int toDigit(char ch, int index)
          将十六进制字符转换成一个整数
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

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(java.math.BigInteger n)
大数字转换字节流(字节数组)型数据

参数:
n -
返回:

byteConvertInteger

public static java.math.BigInteger byteConvertInteger(byte[] b)
换字节流(字节数组)型数据转大数字

参数:
b -
返回:

getHexString

public static java.lang.String getHexString(byte[] bytes)
根据字节数组获得值(十六进制数字)

参数:
bytes -
返回:

getHexString

public static java.lang.String getHexString(byte[] bytes,
                                            boolean upperCase)
根据字节数组获得值(十六进制数字)

参数:
bytes -
upperCase -
返回:

printHexString

public static void printHexString(byte[] bytes)
打印十六进制字符串

参数:
bytes -

hexStringToBytes

public static byte[] hexStringToBytes(java.lang.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 java.lang.String encodeHexString(byte[] data)
将字节数组转换为十六进制字符串

参数:
data - byte[]
返回:
十六进制String

encodeHexString

public static java.lang.String encodeHexString(byte[] data,
                                               boolean toLowerCase)
将字节数组转换为十六进制字符串

参数:
data - byte[]
toLowerCase - true 传换成小写格式 , false 传换成大写格式
返回:
十六进制String

encodeHexString

protected static java.lang.String encodeHexString(byte[] data,
                                                  char[] toDigits)
将字节数组转换为十六进制字符串

参数:
data - byte[]
toDigits - 用于控制输出的char[]
返回:
十六进制String

decodeHex

public static byte[] decodeHex(char[] data)
将十六进制字符数组转换为字节数组

参数:
data - 十六进制char[]
返回:
byte[]
抛出:
java.lang.RuntimeException - 如果源十六进制字符数组是一个奇怪的长度,将抛出运行时异常

toDigit

protected static int toDigit(char ch,
                             int index)
将十六进制字符转换成一个整数

参数:
ch - 十六进制char
index - 十六进制字符在字符数组中的位置
返回:
一个整数
抛出:
java.lang.RuntimeException - 当ch不是一个合法的十六进制字符时,抛出运行时异常

StringToAsciiString

public static java.lang.String StringToAsciiString(java.lang.String content)
数字字符串转ASCII码字符串

参数:
String - 字符串
返回:
ASCII字符串

hexStringToString

public static java.lang.String hexStringToString(java.lang.String hexString,
                                                 int encodeType)
十六进制转字符串

参数:
hexString - 十六进制字符串
encodeType - 编码类型4:Unicode,2:普通编码
返回:
字符串

hexStringToAlgorism

public static int hexStringToAlgorism(java.lang.String hex)
十六进制字符串装十进制

参数:
hex - 十六进制字符串
返回:
十进制数值

hexStringToBinary

public static java.lang.String hexStringToBinary(java.lang.String hex)
十六转二进制

参数:
hex - 十六进制字符串
返回:
二进制字符串

AsciiStringToString

public static java.lang.String AsciiStringToString(java.lang.String content)
ASCII码字符串转数字字符串

参数:
String - ASCII字符串
返回:
字符串

algorismToHexString

public static java.lang.String algorismToHexString(int algorism,
                                                   int maxLength)
将十进制转换为指定长度的十六进制字符串

参数:
algorism - int 十进制数字
maxLength - int 转换后的十六进制字符串长度
返回:
String 转换后的十六进制字符串

byteToString

public static java.lang.String byteToString(byte[] bytearray)
字节数组转为普通字符串(ASCII对应的字符)

参数:
bytearray - byte[]
返回:
String

binaryToAlgorism

public static int binaryToAlgorism(java.lang.String binary)
二进制字符串转十进制

参数:
binary - 二进制字符串
返回:
十进制数值

algorismToHEXString

public static java.lang.String algorismToHEXString(int algorism)
十进制转换为十六进制字符串

参数:
algorism - int 十进制的数字
返回:
String 对应的十六进制字符串

patchHexString

public static java.lang.String patchHexString(java.lang.String str,
                                              int maxLength)
HEX字符串前补0,主要用于长度位数不足。

参数:
str - String 需要补充长度的十六进制字符串
maxLength - int 补充后十六进制字符串的长度
返回:
补充结果

parseToInt

public static int parseToInt(java.lang.String s,
                             int defaultInt,
                             int radix)
将一个字符串转换为int

参数:
s - String 要转换的字符串
defaultInt - int 如果出现异常,默认返回的数字
radix - int 要转换的字符串是什么进制的,如16 8 10.
返回:
int 转换后的数字

parseToInt

public static int parseToInt(java.lang.String s,
                             int defaultInt)
将一个十进制形式的数字字符串转换为int

参数:
s - String 要转换的字符串
defaultInt - int 如果出现异常,默认返回的数字
返回:
int 转换后的数字

hexToByte

public static byte[] hexToByte(java.lang.String hex)
                        throws java.lang.IllegalArgumentException
十六进制串转化为byte数组

返回:
the array of byte
抛出:
java.lang.IllegalArgumentException

byteToHex

public static java.lang.String byteToHex(byte[] b)
字节数组转换为十六进制字符串

参数:
b - byte[] 需要转换的字节数组
返回:
String 十六进制字符串

subByte

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