egovframework.rfc3.common.crypt
Class ByteUtils

java.lang.Object
  extended by egovframework.rfc3.common.crypt.ByteUtils

public class ByteUtils
extends java.lang.Object

이 클래스는 Byte 관련 함수를 제공합니다.

Since:
1.0
Version:
1.0
Author:
kangwoo

Field Summary
static java.lang.Byte DEFAULT_BYTE
           
 
Constructor Summary
ByteUtils()
           
 
Method Summary
static java.lang.String byteToHex(byte[] bytes)
          바이트 배열을 헥사코드로 변환
static boolean equals(byte[] array1, byte[] array2)
          두 배열의 값이 동일한지 비교한다.
static byte[] hexToByte(java.lang.String hex)
          헥사코드를 바이트 배열로 변환
static java.lang.String hexToString(java.lang.String hex)
          헥사코드를 문자열로 변환
static byte toByte(java.lang.String value, byte defaultValue)
          문자열을 바이트로 변환한다.
static java.lang.Byte toByteObject(java.lang.String value, java.lang.Byte defaultValue)
          문자열을 바이트로 변환한다.
static byte[] toBytes(int value)
          int 형의 값을 바이트 배열(4바이트)로 변환한다.
static void toBytes(int value, byte[] dest, int destPos)
          int 형의 값을 바이트 배열(4바이트)로 변환한다.
static byte[] toBytes(long value)
          long 형의 값을 바이트 배열(8바이트)로 변환한다.
static void toBytes(long value, byte[] dest, int destPos)
          long 형의 값을 바이트 배열(8바이트)로 변환한다.
static byte[] toBytes(java.lang.String digits, int radix)
          8, 10, 16진수 문자열을 바이트 배열로 변환한다.
static byte[] toBytesFromHexString(java.lang.String digits)
          16진수 문자열을 바이트 배열로 변환한다.
static java.lang.String toHexString(byte b)
          unsigned byte(바이트)를 16진수 문자열로 바꾼다.
static java.lang.String toHexString(byte[] bytes)
          unsigned byte(바이트) 배열을 16진수 문자열로 바꾼다.
static java.lang.String toHexString(byte[] bytes, int offset, int length)
          unsigned byte(바이트) 배열을 16진수 문자열로 바꾼다.
static int toInt(byte[] src)
          입력한 바이트 배열(4바이트)을 int 형으로 변환한다.
static int toInt(byte[] src, int srcPos)
          입력한 바이트 배열(4바이트)을 int 형으로 변환한다.
static long toLong(byte[] src)
          입력한 바이트 배열(8바이트)을 long 형으로 변환한다.
static long toLong(byte[] src, int srcPos)
          입력한 바이트 배열(8바이트)을 long 형으로 변환한다.
static int unsignedByte(byte b)
          singed byte를 unsinged byte로 변환한다.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_BYTE

public static java.lang.Byte DEFAULT_BYTE
Constructor Detail

ByteUtils

public ByteUtils()
Method Detail

toByte

public static byte toByte(java.lang.String value,
                          byte defaultValue)

문자열을 바이트로 변환한다.

 ByteUtils.toByte("1", *)    = 0x01
 ByteUtils.toByte("-1", *)   = 0xff
 ByteUtils.toByte("a", 0x00) = 0x00
 

Parameters:
value - 10진수 문자열 값
defaultValue -
Returns:

toByteObject

public static java.lang.Byte toByteObject(java.lang.String value,
                                          java.lang.Byte defaultValue)

문자열을 바이트로 변환한다.

 ByteUtils.toByteObject("1", *)    = 0x01
 ByteUtils.toByteObject("-1", *)   = 0xff
 ByteUtils.toByteObject("a", 0x00) = 0x00
 

Parameters:
value - 10진수 문자열 값
defaultValue -
Returns:

unsignedByte

public static int unsignedByte(byte b)

singed byte를 unsinged byte로 변환한다.

Java에는 unsinged 타입이 없기때문에, int로 반환한다.(b & 0xff)

Parameters:
b - singed byte
Returns:
unsinged byte

toInt

public static int toInt(byte[] src,
                        int srcPos)

입력한 바이트 배열(4바이트)을 int 형으로 변환한다.

Parameters:
src -
srcPos -
Returns:

toInt

public static int toInt(byte[] src)

입력한 바이트 배열(4바이트)을 int 형으로 변환한다.

Parameters:
src -
Returns:

toLong

public static long toLong(byte[] src,
                          int srcPos)

입력한 바이트 배열(8바이트)을 long 형으로 변환한다.

Parameters:
src -
srcPos -
Returns:

toLong

public static long toLong(byte[] src)

입력한 바이트 배열(8바이트)을 long 형으로 변환한다.

Parameters:
src -
Returns:

toBytes

public static void toBytes(int value,
                           byte[] dest,
                           int destPos)

int 형의 값을 바이트 배열(4바이트)로 변환한다.

Parameters:
value -
dest -
destPos -

toBytes

public static byte[] toBytes(int value)

int 형의 값을 바이트 배열(4바이트)로 변환한다.

Parameters:
value -
Returns:

toBytes

public static void toBytes(long value,
                           byte[] dest,
                           int destPos)

long 형의 값을 바이트 배열(8바이트)로 변환한다.

Parameters:
value -
dest -
destPos -

toBytes

public static byte[] toBytes(long value)

long 형의 값을 바이트 배열(8바이트)로 변환한다.

Parameters:
value -
Returns:

toBytes

public static byte[] toBytes(java.lang.String digits,
                             int radix)
                      throws java.lang.IllegalArgumentException,
                             java.lang.NumberFormatException

8, 10, 16진수 문자열을 바이트 배열로 변환한다.

8, 10진수인 경우는 문자열의 3자리가, 16진수인 경우는 2자리가, 하나의 byte로 바뀐다.

 ByteUtils.toBytes(null)     = null
 ByteUtils.toBytes("0E1F4E", 16) = [0x0e, 0xf4, 0x4e]
 ByteUtils.toBytes("48414e", 16) = [0x48, 0x41, 0x4e]
 

Parameters:
digits - 문자열
radix - 진수(8, 10, 16만 가능)
Returns:
Throws:
java.lang.NumberFormatException
java.lang.IllegalArgumentException

toBytesFromHexString

public static byte[] toBytesFromHexString(java.lang.String digits)
                                   throws java.lang.IllegalArgumentException,
                                          java.lang.NumberFormatException

16진수 문자열을 바이트 배열로 변환한다.

문자열의 2자리가 하나의 byte로 바뀐다.

 ByteUtils.toBytesFromHexString(null)     = null
 ByteUtils.toBytesFromHexString("0E1F4E") = [0x0e, 0xf4, 0x4e]
 ByteUtils.toBytesFromHexString("48414e") = [0x48, 0x41, 0x4e]
 

Parameters:
digits - 16진수 문자열
Returns:
Throws:
java.lang.NumberFormatException
java.lang.IllegalArgumentException
See Also:
HexUtils.toBytes(String)

toHexString

public static java.lang.String toHexString(byte b)

unsigned byte(바이트)를 16진수 문자열로 바꾼다.

ByteUtils.toHexString((byte)1) = "01" ByteUtils.toHexString((byte)255) = "ff"

Parameters:
b - unsigned byte
Returns:
See Also:
HexUtils.toString(byte)

toHexString

public static java.lang.String toHexString(byte[] bytes)

unsigned byte(바이트) 배열을 16진수 문자열로 바꾼다.

 ByteUtils.toHexString(null)                   = null
 ByteUtils.toHexString([(byte)1, (byte)255])   = "01ff"
 

Parameters:
bytes - unsigned byte's array
Returns:
See Also:
HexUtils.toString(byte[])

toHexString

public static java.lang.String toHexString(byte[] bytes,
                                           int offset,
                                           int length)

unsigned byte(바이트) 배열을 16진수 문자열로 바꾼다.

 ByteUtils.toHexString(null, *, *)                   = null
 ByteUtils.toHexString([(byte)1, (byte)255], 0, 2)   = "01ff"
 ByteUtils.toHexString([(byte)1, (byte)255], 0, 1)   = "01"
 ByteUtils.toHexString([(byte)1, (byte)255], 1, 2)   = "ff"
 

Parameters:
bytes - unsigned byte's array
Returns:
See Also:
HexUtils.toString(byte[])

equals

public static boolean equals(byte[] array1,
                             byte[] array2)

두 배열의 값이 동일한지 비교한다.

 ArrayUtils.equals(null, null)                        = true
 ArrayUtils.equals(["one", "two"], ["one", "two"])    = true
 ArrayUtils.equals(["one", "two"], ["three", "four"]) = false
 

Parameters:
array1 -
array2 -
Returns:
동일하면 true, 아니면 false

byteToHex

public static java.lang.String byteToHex(byte[] bytes)
바이트 배열을 헥사코드로 변환

Parameters:
bytes -
Returns:

hexToString

public static java.lang.String hexToString(java.lang.String hex)
헥사코드를 문자열로 변환

Parameters:
hex -
Returns:

hexToByte

public static byte[] hexToByte(java.lang.String hex)
헥사코드를 바이트 배열로 변환

Parameters:
hex -
Returns: