반응형
업무를 하다보면 간단한 암호화 적용을 위해 Base64를 사용할 때 getDecoder 혹은 getEncoder를 찾지 못하는 경우가 있습니다. 이런 경우 어떻게 해야되는지 알아보겠습니다.
보통 이런 경우는 Base64 예제를 복사한 후 Ctrl+Shift+O를 했는데, java.util.Base64가 없어 아무거나 선택한 경우일 겁니다.
java 1.7에서는 java.util.Base64가 없기때문에 decode, encode가 되지 않는 것입니다.
java 1.7의 경우 org.apache.commons.codev.binary.Base64 사용하고,
getEncdoer 대신 encodeBase64, getDecoder 대신 decodeBase64를 사용해야 합니다.
아래 예제를 참고하시면 문제 해결에 도움이 되실겁니다.
1. java 1.8 이상 Base64
import java.util.Base64;
import java.util.Base64.Decoder;
import java.util.Base64.Encoder;
// encode
String encodeTxt = "Studying Azae";
String encodeString = Base64.getEncoder().encodeToString(encodeTxt.getBytes("UTF-8"));
// decode
byte[] decodeByte = Base64.getDecoder().decode(encodeString);
String decodeString = new String(decodeByte, "UTF-8"));
2. JAVA 1.7에서의 Base64
import org.apache.commons.codec.binary.Base64;
// encode
String encodeTxt = "Studying Azae";
String encodeString = Base64.encodeBase64()(encodeTxt.getBytes("UTF-8"));
// decode
byte[] decodeByte = Base64.decodeBase64(encodeString);
String decodeString = new String(decodeByte, "UTF-8"));
그리드형
'IT > Java' 카테고리의 다른 글
[JAVA] 정규식을 활용한 패스워드 체크 함수(regex Pattern, Matcher) (2) | 2023.10.20 |
---|---|
[JAVA] 자바 스트링 한글 깨짐 (String 인코딩 변환 방법) (0) | 2022.05.12 |
[JAVA] 가변인자 (0) | 2022.04.07 |
Cause: java.lang.NumberFormatException : For input string: 해결방법 (0) | 2022.01.12 |
[JAVA] 다양한 형태의 JSON 파일 파싱하기 JSONParser, JSONObject, JSONArray (json.simple, GSON) (4) | 2021.11.30 |
댓글