기록

*77일차 (회원정보수정 / 비밀번호 암호화) 본문

학원/강의

*77일차 (회원정보수정 / 비밀번호 암호화)

pringspring 2022. 5. 17. 20:06

@내정보보기 - 회원정보수정

1. memverView.jsp

  • action에 경로추가
  • id는 수정불가로 readonly
  • pw는 암호화처리로 제외하고 진행
  • 유효성검사 작성 (이름,번호)

2. 정보수정에 해당하는 Sevlet 생성 - MemberUpdateServlet

  • url mapping : /member/memberUpdate
  • doPost
  • birthday는 date, hobby는 string으로

3. MemberService.java에 update 추가

 

4. MemberDao.java에 update 추가

 

5. sql - properties에 update 추가

 

  • db에는 수정완료
  • 실제웹페이지에는 수정X
  • 현재상황

→수정 후 session정보도 갱신하는 작업이 필요함

  • memberUpdateServlet에 session 갱신
			//세션정보갱신
			Member updateMember = memberService.findByMemberId(memberId);
			request.getSession().setAttribute("loginMember", updateMember);

 

 

 

@Filter

  • method는 안봄
  • URL만 봄
  •  

 

*필터처리순서

  • web.xml에 등록된 순서대로 처리
  • web.xml에 등록된 필터가 @WebFilter보다 우선순위 높음
  •  

 

 

1. 필터처리

  • 모든 요청이 이 필터를 거침
  • ServletRequest : HttpServletRequest의 부모타입
  • ServletResponse : HttpServletResponse의 부모타입

 

 

2. 인코딩 필터

  • 인코딩 필터 생성
  • WebFilter가 하는 일 작성 (web.xml)
  <filter>
  <filter-name>EncodingFilter</filter-name>
  <filter-class>common.filter.EncodingFilter</filter-class>
  </filter>
  
  <filter-mapping>
  <filter-name>EncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
  </filter-mapping>

 

*Project Explorer - Deploy..~

  -web에 적혀있어야 할 내용들

  -동적으로 web.xml에 관리된다

 

 

 

 

3. 로그인 필터

  • 로그인을 해야만 이용하는 기능

 


@비밀번호 암호화(Encryption)

  • 암호 알고리즘에 의해 평문(1234) →암호문(dfer3r3l@3232)

1. 단방향 (hashing)

  • 1234 → 암호문 
  • 역방향은 존재 X
  • MD5 - SHA1 - SHA256 - SHA512 (256,512추천)
  •  

 

2. 양방향

  • 평문 ↔ 암호문 가능 
  • 평 →암 : 암호화
  • 암 → 평 : 복호화
  •  
  • key값을 사용
  • -암호화,복호화 할 때 사용하는 key와 동일 ?  대칭키 암호화
  • -다르면 ? 비대칭키 암호화

 

*hashing

  1. digest : byte []
  2. encoding : String

     -암호화처리 아님

     -이진데이터를 문자열로 옮김

     -base 64 (알파벳52 + 숫자10+ 2개 특문(+,/) )

 

 

 

*적용하기

1. memberEnrollServlet

			// 단방향 암호화 처리
			String password = HelloMvcUtils.encrypt(request.getParameter("password"), memberId);

 

 

2.static method

  • package common - HelloMvcUtils

 

 

 

*salt

  • 같은 비밀번호 1234여도 hash값은 다름

  • 각각의 id를 salt로 사용해 hash해보기 (ex.같은 1234여도 hash값이 달라짐)

 

(4'17)

 

 

update member
set password = ' '
where member_id = ' ';