투케이2K

106. (java/자바) 문자열 데이터를 base64로 인코딩(암호화), 디코딩(복호화) 수행 실시 본문

Java

106. (java/자바) 문자열 데이터를 base64로 인코딩(암호화), 디코딩(복호화) 수행 실시

투케이2K 2021. 1. 10. 10:48

/* =========================== */

[ 개발 환경 설정 ]

개발 툴 : Eclipse

개발 언어 : Java

/* =========================== */

/* =========================== */

[소스 코드]

 

package AI3;

import java.util.Arrays;
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;

public class MainActivity11 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("[문자열 데이터를 base64로 인코딩(암호화), 디코딩(복호화) 수행 실시]");
		
		/*[설 명]
		 * 1. base64는 64진법이란 의미입니다
		 * 2. base64는 ASCII 아스키 중 제어문자와 일부 특수문자를 제외한 64개의 안전한 출력 문자만 사용합니다
		 * 3. base64는 A-Z, a-z와 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이가 있습니다
		 * 4. base64 사용이유는 통신과정에서 바이너리 데이터의 손실을 막기 위해 사용됩니다
		 * 
		 */
		
		//초기 문자열 변수 선언
		String data = "hello";
		System.out.println("원본(데이터) 바이트 : "+Arrays.toString(data.getBytes()));
		System.out.println("원본(데이터) 문자열 : "+data);
		System.out.println("");
		
		//인코딩(암호화), 디코딩(복호화) 객체 선언
		Encoder encode = Base64.getEncoder();
		Decoder decode = Base64.getDecoder();
		try {
			byte encodeData[] = encode.encode(data.getBytes()); //인코딩 객체 선언
			System.out.println("인코딩(암호화) 바이트 : "+Arrays.toString(encodeData));
			System.out.println("인코딩(암호화) 문자열 : "+new String(encodeData));
			System.out.println("");
			
			byte decodeData[] = decode.decode(encodeData); //디코딩 객체 선언
			System.out.println("디코딩(복호화) 바이트 : "+Arrays.toString(decodeData));
			System.out.println("디코딩(복호화) 문자열 : "+new String(decodeData));
		}
		catch(Exception e) {
			System.out.println(e.getMessage());
		}		
		
	}//메인 종료

}//클래스 종료

/* =========================== */

[결과 출력]

[문자열 데이터를 base64로 인코딩(암호화), 디코딩(복호화) 수행 실시]

원본(데이터) 바이트 : [104, 101, 108, 108, 111]

원본(데이터) 문자열 : hello

인코딩(암호화) 바이트 : [97, 71, 86, 115, 98, 71, 56, 61]

인코딩(암호화) 문자열 : aGVsbG8=

디코딩(복호화) 바이트 : [104, 101, 108, 108, 111]

디코딩(복호화) 문자열 : hello

/* =========================== */

/* =========================== */

[요약 설명]

* 1. base64는 64진법이란 의미입니다

* 2. base64는 ASCII 아스키 중 제어문자와 일부 특수문자를 제외한 64개의 안전한 출력 문자만 사용합니다

* 3. base64는 A-Z, a-z와 0-9를 사용하고 있으며 마지막 두 개를 어떤 기호를 쓰느냐의 차이가 있습니다

* 4. base64 사용이유는 통신과정에서 바이너리 데이터의 손실을 막기 위해 사용됩니다

/* =========================== */

반응형
Comments