본문 바로가기
Language/Java

[Base64][암호화] + 기호가 " "(공백) 으로 바뀌는 현상

by 애기 개발자 2023. 3. 13.
반응형

평화롭게 코딩을 하던 중

 

오류가 발생했다.

 

util_crypt utilCrypt = new util_crypt();
String en_userID = utilCrypt.crypt_des(user_id, "baby");

user_id를 baby 키값을 이용해 암호화를 하려고 하였다.

 

암호화 결과는

 

y+LNUckbjh9lju3rMctQag==

그리고 이 값을 로그인이 필요한 다른 서버의 페이지로 보내주었다.

 

보낸 후 해당 서버에서 받은 암호화된 값을 보니

 

y LNUckbjh9lju3rMctQag==

'+' 기호가 ' '(공백)으로 바뀌어서 날아온 것이다.

 

이를 해결하기 위해 열심히 구글링 했다.

 

https://stackoverflow.com/questions/7842547/request-parameter-losing-plus-sign

 

Request Parameter Losing Plus Sign

I am editing a search form and trying to protect against special characters in the database. In the JSP search form, a (multiselect) dropdown allows users to select descriptions that will be used i...

stackoverflow.com

 

암호화된 값을 보내주기 전에

 

+ 기호를 %2B로 변환시켜 주면 된다는 것이다.

 

util_crypt utilCrypt = new util_crypt();
String en_userID = utilCrypt.crypt_des(user_id, "baby").reaplace("+", "%2B");

위와 같이 수정 후 다시 시도해 보니

 

요청받는 서버에서도 정상적으로 표기가 되었다.

반응형

댓글