base64 암호화 함수
- 암호화를 이용하여 사용자가 입력한 값을 다른 문자로 변환 가능하며 복구화 가능
- 결제금액 등 보안이 약해도 되는 항목에 적용 - 개인정보에선 사용하지 x (복구화가 가능하기 때문에)
window.btoa(값); : 사용자가 입력한 값을 base64 암호화
window.atob(값); : base64 암호화한 값을 원래 단어로 복원
한글 : window.btoa(encodeURIComponent(값));
⚡ javascript 암호화 (base64)
<body> <form action="./securityok.do" method="get" id="frm"> <input type="hidden" name="pwd" value=""> 비밀번호 : <input type="text" name="password"> <input type="button" value="클릭" onclick="abc()"> </form> <form id="frm2"> 고객명 : <input type="text" name="user"> <input type="button" value="클릭" onclick="base64()"> </form> </body> <script type="text/javascript"> //영문,숫자 function abc(){ var pw = frm.password.value; var encode = window.btoa(pw); //사용자가 입력한 값을 base64 암호화 var decode = window.atob(encode); //base64 암호화한 값을 원래 단어로 복원 frm.pwd.value = encode; //암호화된 문자값을 백엔드로 전달 } //한글 function base64(){ var word= frm2.user.value; var encode = window.btoa(encodeURIComponent(word)); } </script>
⚡java 암호화 (base64)
- 모든 암호화는 byte로 변환이 되어서 사용해야함
base64 encode 사용법 : 문자를 byte로 변환 후 해당 byte를 라이브러리를 통하여 암호화
base64 decode 사용법 : 문자를 byte로 변환 후 라이브를 통하여 복호화
- 기본 문법
//base64 encode 사용법 : 문자를 byte로 변환 후 해당 byte를 라이브러리를 통하여 암호화 String word = "a12345"; byte a[] = word.getBytes(); Encoder ec = Base64.getEncoder(); byte b[] = ec.encode(a); System.out.println(new String(b)); //YTEyMzQ1 출력 //base64 decode 사용법 : 문자를 byte로 변환 후 라이브를 통하여 복호화 String word2 = "YTEyMzQ1"; Decoder dc = Base64.getDecoder(); byte c[] = dc.decode(word2); System.out.println(new String(c)); //a12345 출력
- 위 html과 연계( Front에서 base64로 암호화된 값을 복구화하여 데이터값을 확인하는 방식 )public class securityok extends HttpServlet { private static final long serialVersionUID = 1L; protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String pwd = request.getParameter("pwd").intern(); //front에서 암호화 되어서 넘어온 값은 byte로 변환할 필요x Decoder code = Base64.getDecoder(); byte code2[] = code.decode(pwd); System.out.println(new String(code2)); //사용자가 입력한 값 그대로 출력됨 } }
'CLASS > SERVLET' 카테고리의 다른 글
#4-1 / html에서 java class로 값 전달,로그인 예제 (0) | 2024.05.31 |
---|---|
#3-3 / html-> html 값 전달 (0) | 2024.05.30 |
#3-1 / form 예제 (0) | 2024.05.30 |
#2-4 / double form (0) | 2024.05.29 |
#2-3 / html 태그별 데이터 전송 (0) | 2024.05.29 |