kz.gamma.hardware.util
Class UtilCM

java.lang.Object
  extended by kz.gamma.hardware.util.UtilCM

public class UtilCM
extends java.lang.Object

Класс методов конвертирования, копирования данных и формирования URL


Field Summary
static java.lang.String hexChars
          Символы, которые присутствуют в HEX-кодировке
private static int MAX_BASE32_SIZE
           
static int SUN_CPU_ENDIAN
           
static int SUN_CPU_ENDIAN_BIG
          Тупоконечный порядок байт
static int SUN_CPU_ENDIAN_LITTLE
          Остроконечный порядок байт
 
Constructor Summary
UtilCM()
           
 
Method Summary
static java.lang.String array2hex(byte[] value)
          Конвертирование массива байт в HEX-строку
static java.lang.String array2hex(byte[] value, int size)
          Конвертирование массива байт в HEX-строку
static java.lang.String array2hex(byte[] value, int offset, int size)
          Конвертирование массива байт в HEX-строку
static java.lang.String bin2base32(byte[] bin, int offset, int size)
          Формирование base32
static int byteToInt(byte[] x, int offset)
          Deprecated. replaced by byteToInt(byte[] x, int offset, int type)
static int byteToInt(byte[] x, int offset, int type)
          Конвертирование массива из 4-x байт в целое число.
static long byteToLong(byte[] x, int offset, int type)
          Конвертирование массива из 8-x байт в целое число.
static short byteToShort(byte[] x, int offset, int type)
          Конвертирование массива из 2-x байт в целое число.
static int calcCRC(byte[] data)
          Вычисление CRC32
static int calculateEndian()
           
static byte[] concat(byte[] A, byte[] B)
          Конкатенация массивов
static byte[] copyByte(byte[] x, int offset, int size)
          Извлечение массива байт из массива байт
static byte[] copyByte(byte[] x, int offset, int size, int type)
          Извлечение массива байт из массива байт.
static byte[] getCertificateBlob(byte[] blob)
           
static int getCertificateType(byte[] blob)
          Функция возвращает тип сертификата
static byte[] getGostHash(byte[] data)
           
 java.lang.String getHexString(byte[] b)
          Конвертирование массива байт в HEX-строку
static java.lang.String hash2Ref(byte[] hash)
          Формирование референса
static byte[] hex2array(java.lang.String hex)
          Конвертирование HEX строки в массив байт
static byte[] intToByte(int x)
          Deprecated. replaced by intToByte(int x, int type)
static byte[] intToByte(int x, int type)
          Конвертирование целого числа в массив из 4-x байт
static byte[] inverseByte(byte[] x)
          Извлечение массива байт из массива байт.
static byte[] inverseCopyByte(byte[] x, int offset, int size)
          Извлечение массива байт из массива байт.
static byte[] longToByte(long x, int type)
          Конвертирование целого числа в массив из 8-и байт
static java.util.Enumeration makeEnumeration(java.lang.Object obj)
          Получение перечисления объектов
static byte[] makeIDKey()
           
static byte[] reverseParts(byte[] data, int offset)
           
static byte[] shortToByte(short x, int type)
          Конвертирование целого числа в массив из 2-x байт
static byte[] swapParts(byte[] data, int offset)
           
static java.lang.String toHexByte(int val)
          Конвертирование целого числа в HEX-строку
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

hexChars

public static final java.lang.String hexChars
Символы, которые присутствуют в HEX-кодировке

See Also:
Constant Field Values

SUN_CPU_ENDIAN_LITTLE

public static final int SUN_CPU_ENDIAN_LITTLE
Остроконечный порядок байт

See Also:
Constant Field Values

SUN_CPU_ENDIAN_BIG

public static final int SUN_CPU_ENDIAN_BIG
Тупоконечный порядок байт

See Also:
Constant Field Values

SUN_CPU_ENDIAN

public static final int SUN_CPU_ENDIAN

MAX_BASE32_SIZE

private static final int MAX_BASE32_SIZE
See Also:
Constant Field Values
Constructor Detail

UtilCM

public UtilCM()
Method Detail

toHexByte

public static java.lang.String toHexByte(int val)
Конвертирование целого числа в HEX-строку

Parameters:
val - целое число
Returns:
HEX-строка

getHexString

public java.lang.String getHexString(byte[] b)
Конвертирование массива байт в HEX-строку

Parameters:
b - Массив байт
Returns:
HEX-строка

hex2array

public static byte[] hex2array(java.lang.String hex)
Конвертирование HEX строки в массив байт

Parameters:
hex - HEX строка
Returns:
массив байт

array2hex

public static java.lang.String array2hex(byte[] value)
Конвертирование массива байт в HEX-строку

Parameters:
value - Массив байт
Returns:
HEX строка

array2hex

public static java.lang.String array2hex(byte[] value,
                                         int size)
Конвертирование массива байт в HEX-строку

Parameters:
value - Массив байт
size - Размер массива
Returns:
HEX строка

array2hex

public static java.lang.String array2hex(byte[] value,
                                         int offset,
                                         int size)
Конвертирование массива байт в HEX-строку

Parameters:
value - Массив байт
offset - Смещение массива
size - Размер массива
Returns:
HEX строка

byteToInt

@Deprecated
public static int byteToInt(byte[] x,
                                       int offset)
Deprecated. replaced by byteToInt(byte[] x, int offset, int type)

Конвертирование массива из 4-x байт в целое число. Используется BIG ENDIAN.

Parameters:
x - Массив байт
offset - Смещение. Если x.length == 4, то offset = 0. Если x.length > 4, то (x.length - 4) >= offset >= 0.
Returns:
Целое число

byteToShort

public static short byteToShort(byte[] x,
                                int offset,
                                int type)
Конвертирование массива из 2-x байт в целое число.

Parameters:
x - Массив байт
offset - Смещение. Если x.length == 2, то offset = 0. Если x.length > 2, то (x.length - 2) >= offset >= 0.
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Целое число

byteToInt

public static int byteToInt(byte[] x,
                            int offset,
                            int type)
Конвертирование массива из 4-x байт в целое число.

Parameters:
x - Массив байт
offset - Смещение. Если x.length == 4, то offset = 0. Если x.length > 4, то (x.length - 4) >= offset >= 0.
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Целое число

byteToLong

public static long byteToLong(byte[] x,
                              int offset,
                              int type)
Конвертирование массива из 8-x байт в целое число.

Parameters:
x - Массив байт
offset - Смещение. Если x.length == 8, то offset = 0. Если x.length > 8, то (x.length - 8) >= offset >= 0.
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Целое число

intToByte

@Deprecated
public static byte[] intToByte(int x)
Deprecated. replaced by intToByte(int x, int type)

Конвертирование целого числа в массив из 4-x байт. Используется BIG ENDIAN.

Parameters:
x - Целое число
Returns:
Массив из 4-х байт

shortToByte

public static byte[] shortToByte(short x,
                                 int type)
Конвертирование целого числа в массив из 2-x байт

Parameters:
x - Целое число
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Массив из 2-х байт

intToByte

public static byte[] intToByte(int x,
                               int type)
Конвертирование целого числа в массив из 4-x байт

Parameters:
x - Целое число
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Массив из 4-х байт

longToByte

public static byte[] longToByte(long x,
                                int type)
Конвертирование целого числа в массив из 8-и байт

Parameters:
x - Целое число
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Массив из 8-и байт

copyByte

public static byte[] copyByte(byte[] x,
                              int offset,
                              int size)
Извлечение массива байт из массива байт

Parameters:
x - Массив байт
offset - Смещение, с которого начинать копирование из массива байт
size - Размер результирующего массива байт
Returns:
Результирующий массив байт

inverseCopyByte

public static byte[] inverseCopyByte(byte[] x,
                                     int offset,
                                     int size)
Извлечение массива байт из массива байт. Байты копируются в обратном порядке.

Parameters:
x - Массив байт
offset - Смещение, с которого начинать копирование из массива байт
size - Размер результирующего массива байт
Returns:
Результирующий массив байт

inverseByte

public static byte[] inverseByte(byte[] x)
Извлечение массива байт из массива байт. Байты копируются в обратном порядке.

Parameters:
x - Массив байт
Returns:
Результирующий массив байт

copyByte

public static byte[] copyByte(byte[] x,
                              int offset,
                              int size,
                              int type)
Извлечение массива байт из массива байт. Байты копируются в порядке, который зависит от type.

Parameters:
x - Массив байт
offset - Смещение, с которого начинать копирование из массива байт
size - Размер результирующего массива байт
type - Тип представления данных. Возможные варианты:
  • UtilCM.SUN_CPU_ENDIAN_LITTLE - используется LITTLE ENDIAN;
  • UtilCM.SUN_CPU_ENDIAN_BIG - используется BIG ENDIAN.
Returns:
Результирующий массив байт

concat

public static byte[] concat(byte[] A,
                            byte[] B)
Конкатенация массивов

Parameters:
A - Массив 1
B - Массив 2
Returns:
Результирующий массив

calculateEndian

public static int calculateEndian()

makeEnumeration

public static java.util.Enumeration makeEnumeration(java.lang.Object obj)
Получение перечисления объектов

Parameters:
obj - Объект
Returns:
Перечисление объектов

makeIDKey

public static byte[] makeIDKey()
                        throws java.security.NoSuchAlgorithmException
Throws:
java.security.NoSuchAlgorithmException

reverseParts

public static byte[] reverseParts(byte[] data,
                                  int offset)

swapParts

public static byte[] swapParts(byte[] data,
                               int offset)

getCertificateBlob

public static byte[] getCertificateBlob(byte[] blob)

getCertificateType

public static int getCertificateType(byte[] blob)
Функция возвращает тип сертификата

Parameters:
blob - - сертификат
Returns:
тип сертификата. Возможные варианты:
  • 0 - тип сертификата не определен;
  • 1 - пользовательский сертификат.
  • 2 - SubCA сертификат.
  • 3 - корневой сертификат.

calcCRC

public static int calcCRC(byte[] data)
Вычисление CRC32

Parameters:
data - - Данные на которые вычисляется CRC
Returns:
crc код.

getGostHash

public static byte[] getGostHash(byte[] data)

hash2Ref

public static java.lang.String hash2Ref(byte[] hash)
Формирование референса

Parameters:
hash - хеш на алгоритме SHA-1
Returns:
Референс

bin2base32

public static java.lang.String bin2base32(byte[] bin,
                                          int offset,
                                          int size)
Формирование base32

Parameters:
bin - бинарные даные
Returns:
base32


Copyright © 2013 Gamma Technologies. All Rights Reserved.