목차
1. 자바 6 이상 기본 라이브러리
- javax.xml.bind.DatatypeConverter를 이용한 Hex Encode, Decode입니다.
- java-1.8.0-openjdk-1.8.0.242 에서 작동되는 것을 확인 했습니다. 버전에 따라 실행이 안될 수도 있습니다.
import java.io.UnsupportedEncodingException;
import javax.xml.bind.DatatypeConverter;
public class HexClassImportConverter {
public static void main(String[] args) throws UnsupportedEncodingException {
String testText = "hex Test Text";
byte[] testToBytes = testText.getBytes("UTF-8");
//Hex 인코딩(Byte To String)
String encodeHexString = DatatypeConverter.printHexBinary(testToBytes);
//Hex 디코딩(String to Byte)
byte[] decodeHexByte = DatatypeConverter.parseHexBinary(encodeHexString);
System.out.println("인코딩 전: " + testText);
System.out.println("인코딩: " + encodeHexString);
System.out.println("디코딩: " + new String(decodeHexByte));
}
}
2. Apache Commons 라이브러리
http://mvnrepository.com/artifact/commons-codec/commons-codec/1.9
- org.apache.commons.codec.binary.Hex를 이용한 Hex Encode, Decode입니다.
- 다음 방식을 이용해 Hex 인코딩을 하려면 위의 링크에서 jar파일을 다운로드하거나 Maven을 이용해서 프로젝트에 추가해야 합니다.
(프로젝트에 jar파일 추가하는 방법을 모르신다면 아래의 링크를 이용해 주세요)
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.DecoderException;
import org.apache.commons.codec.binary.Hex;
public class HexClassImportApache {
public static void main(String[] args) throws UnsupportedEncodingException, DecoderException {
String testText = "hex Test Text";
byte[] testToBytes = testText.getBytes("UTF-8");
//Hex 인코딩(Byte To String)
String encodeHexString = Hex.encodeHexString(testToBytes);
//Hex 인코딩(Byte To Char)
char[] encodeHexChar = Hex.encodeHex(testToBytes);
//Hex 디코딩
byte[] decodeHexByte = Hex.decodeHex(encodeHexString.toCharArray());
System.out.println("인코딩 전: " + testText);
System.out.println("인코딩(String): " + encodeHexString);
System.out.println("인코딩(Char): " + new String(encodeHexChar));
System.out.println("디코딩: " + new String(decodeHexByte));
}
}
'Backend > Java' 카테고리의 다른 글
[JAVA] 자바 AES 암호화 하기 (AES-128, AES-192, AES-256) (0) | 2021.08.28 |
---|---|
[JAVA] 자바 Hmac 암호화 하기 (HMAC-MD5, HMAC-SHA256, HMAC-SHA512) (2) | 2021.08.16 |
[JAVA] 자바 SHA 암호화 하기 (SHA1, SHA2, SHA3) (0) | 2021.08.15 |
[JAVA] 자바 MD5 암호화 (단방향 암호화) (0) | 2021.08.14 |
[JAVA] Base64 인코딩, 디코딩 3가지 방법 (0) | 2021.08.10 |