엄지월드

SHA-256 암호화 java 예제 본문

java/JSP

SHA-256 암호화 java 예제

킨글 2017. 5. 22. 13:14
반응형

@WebServlet("/LoginController") public class LoginController extends HttpServlet { private static final long serialVersionUID = 1L; public LoginController() { super(); } protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 요청과 응답의 인코딩 생성 request.setCharacterEncoding("euc-kr"); response.setContentType("text/html; charset=EUC-KR"); response.setCharacterEncoding("euc-kr"); // 기능을 제공할 서비스 객체 생성 JoinService service = new JoinServiceImpl(); boolean flag = false; // 세션 생성 HttpSession session = request.getSession(); // 로그인에 필요한 요청 파라메터를 읽음 String id = request.getParameter("id"); String pwd = request.getParameter("pwd"); // id로 멤버 검색 Member m = service.getMember(id); String base = pwd; // 입력받은 pwd를 암호화 시키기 위해 base 에 넣음 try { MessageDigest digest = MessageDigest.getInstance("SHA-256"); byte[] hash = digest.digest(base.getBytes("UTF-8")); StringBuffer hexString = new StringBuffer(); for (int i = 0; i < hash.length; i++) { String hex = Integer.toHexString(0xff & hash[i]); if (hex.length() == 1) hexString.append('0'); hexString.append(hex); } pwd = hexString.toString(); } catch (Exception ex) { throw new RuntimeException(ex); } // id가 동일한 멤버가 있고 비밀번호도 동일하면 로그인 성공 if (m != null && pwd.equals(m.getPwd())) { // 로그인 성공한 id를 세션에 저장 session.setAttribute("id", id); // 로그인 성공 여부를 flag에 저장 flag = true; } // 세션에 로그인 성공 여부를 저장 session.setAttribute("flag", flag); // 메뉴 페이지로 이동 RequestDispatcher dispatcher = request .getRequestDispatcher("/result.jsp"); if (dispatcher != null) { dispatcher.forward(request, response); } } protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }

참조 : http://huskdoll.tistory.com/477


Comments