웹(Web) | Request 파라미터(parameter) JavScript에서 암호화(Encryption) Java에서 복호화(Decryption), base64


웹(Web) | Request 파라미터(parameter) JavScript에서 암호화(Encryption) Java에서 복호화(Decryption), base64

Base64로 간단하게 파라미터 암호화 하기




서버로 Request를 전송할 때

파라미터값을 숨겨야 할 경우가 있다.


RSA등 암호화를 해야 최고겠지만

Base64를 이용하여 간단하게

사람의 눈으로 해석이 안될 정도로 파라미터를 숨길수 있다.




1. JavaScript | 파라미터 암호화


- btoa() : base64로 인코딩
- atob() : base64로 디코딩
- encodeURIComponent() : 한글적용을 위해 base64 인코딩 이전에 필요

1
2
3
4
var parameter = 'abc가나다123!@#';
parameter = btoa(encodeURIComponent(parameter));
 
console.log(parameter);    // YWJjJUVBJUIwJTgwJUVCJTgyJTk4JUVCJThCJUE0MTIzISU0MCUyMw=




2. Java | 파라미터 복호화


- URLDecoder.decode() : encodeURIComponent 디코딩
- Base64.getDecoder().decode() : base64로 디코딩

1
2
3
4
5
6
7
8
9
import java.net.URLDecoder;
import java.util.Base64;
 
...
 
String parameter = "YWJjJUVBJUIwJTgwJUVCJTgyJTk4JUVCJThCJUE0MTIzISU0MCUyMw==";
parameter  = URLDecoder.decode(new String(Base64.getDecoder().decode(parameter), "utf-8"), "utf-8");
 
System.out.println(parameter); // abc가나다123!@#

댓글

이 블로그의 인기 게시물

맥(Mac) | 마우스 휠(스크롤) 반전, Scroll Reverser 설치

OpenLayers | 2. 오픈레이어스(OpenLayers) 배경지도 추가(Google, OpenStreetMap(OSM), Vworld, Naver, Daum(Kakao))