암호화 되기전 상태를 평문 상태라고 함
-> 암호화 하지 않으면 감옥 감
예전 방식 : sha-512
비밀번호 담긴 요청 -> 필터 -> wrapper(암호) -> Servlet
현재방식 : 서비스단에서 비교를 함
전달 받은 비밀번호를 암호화하여 DB에서 조회한 비밀번호와 비교 (DB에서 비교 X) sha 방식 암호화 A 회원 / 비밀번호 1234 -> 암호화 : abcd B 회원 / 비밀번호 1234 -> 암호화 : abcd (암호화 시 변경된 내용이 같음) Bcrypt 암호화 : 암호화 하기전에 salt(소금양념)를 추가하여 변형된 상태로 암호화를 진행 A 회원 / 비밀번호 1234 -> 암호화 : abcd B 회원 / 비밀번호 1234 -> 암호화 : sf23 * 매번 암호화되는 비밀번호가 달라져서 DB에서 직접 비교 불가능 대신 Bcrypt 암호화를 지원하는 객체가 이를 비교하는 기능(메서드) 가지고 있어서 이를 활용하면 된다!
메이븐 레파지토리 들어가서 검색창에 spring-security 치기
이거 3개 버전은 5.7.1 버전으로 dependency 복사하여 pom.xml 파일에
dependencies 에 붙여넣기한다
spring 폴더에서 컨트롤 n spring입력후 spring Bean Configuration File 생성
이름 설정(spring-security.xml)후 넥스트 이후 security 체크!
새로만든 xml 파일에서 작성하기
<!-- Bcrypt 암호화용 bean 생성 -->
<bean id="bcryptPasswordEncoder"
class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" />
web.xml 파일에 들어가서
<param-value>에서 classpath:spring/spring-security.xml</param-value>
추가하기
프로그램 시작할때 나도 실행해줘! 이뜻
Servers 탭에서 서버 오른쪽 클릭후 clean한번 해주기!!