KoreaIt Academy/JAVA

[JAVA, JAVASCRIPT] base64를 이용한 암호화와 복호화

hongeeii 2021. 9. 12.
728x90
반응형

암호화와 복호화(base64)

<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>

[javascript]
btoa(문자열) --> base64로 암호화
atoa(문자열) --> base64로 복호화

[java]
Base64.getEncoder().encodeToString(문자열.getBytes()) --> base64로 암호화
Base64.getDecoder().decode(문자열) --> base64로 복호화

 

 

login.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>로그인</title>
</head>
<body>
	<form action="login_ok.jsp" name="loginForm" method="post">
		<p>
			<label>
				아이디 : <input type="text" name="id">
			</label>
		</p>
		<p>
			<label>
				비밀번호 : <input type="password" name="password">
			</label>
		</p>
		<p>
			<input type="button" value="로그인" onclick="send()">
		</p>
	</form>
</body>
<script src="https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/aes.js"></script>
<script>
	function send(){
		var frm = document.loginForm;
		if(!frm.id.value){
			alert("아이디를 입력해주세요.");
			frm.id.focus();
			return;
		}
		
		if(!frm.password.value){
			alert("비밀번호를 입력해주세요.");
			frm.password.focus();
			return;
		}
		
	    frm.password.value = btoa(frm.password.value);
	    
		frm.submit();
	}
</script>
</html>

 

login_ok.jsp

<%@page import="java.nio.charset.StandardCharsets"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.util.Base64"%>
<%@page import="java.util.Base64.Decoder"%>
<jsp:useBean class="com.koreait.beans.TABLE_USER_DAO" id="dao"/>
<%
   String id = request.getParameter("id");
   String pw = request.getParameter("password");
   
   Decoder decoder = Base64.getDecoder();
   pw = new String(decoder.decode(pw));
   
   if(dao.login(id, pw)){
      session.setAttribute("id", id);
      response.sendRedirect("login.jsp");
   }else{
%>
   <script>
      alert("로그인 실패");
      location.href = "login.jsp";
   </script>
<%
   }
%>
728x90
반응형

추천 글