본문 바로가기
IT/Java

[JAVA] Base64 사용 시 getDecoder() 빨간줄 표시 해결방법: The Method getDecoder() is undefined for the type Base64

by 스터딩아재 2022. 10. 24.
반응형

업무를 하다보면 간단한 암호화 적용을 위해 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"));

 


 

 

그리드형

댓글