Notice
Recent Posts
Recent Comments
Link
투케이2K
106. (java/자바) 문자열 데이터를 base64로 인코딩(암호화), 디코딩(복호화) 수행 실시 본문
/* =========================== */
[ 개발 환경 설정 ]
개발 툴 : 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 사용이유는 통신과정에서 바이너리 데이터의 손실을 막기 위해 사용됩니다
/* =========================== */
반응형
'Java' 카테고리의 다른 글
Comments