Notice
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- jsonwebtoken
- 스프링시큐리티
- 이미지 업로드
- 로그인
- 관리자페이지
- register
- RCPS
- ui탬플릿
- 파생상품평가
- 마이페이지
- Token
- stock option
- Typesciprt
- 로그인 로직
- 공통메서드
- 캘린더 라이브러리
- Ajax
- 달력 라이브러리
- 밸류즈
- 인증처리
- 빌드 및 배포
- MRC
- Update
- 밸류즈 홈페이지
- react
- Styled Components
- userManagement
- 배포
- 회원가입로직
- mypage
Archives
- Today
- Total
I T H
[참고용자료] BCryptPasswordEncoder 암호화 클래스 본문
[ BCryptPasswordEncoder ]
BCryptPasswordEncoder는
Spring Security 프레임워크에서 제공하는 클래스로 비밀번호를 암호화할 때 사용.
단방향으로 암호화하던 기존의 알고리즘과 달리 (SHA / MD 등)
평문을 암호화 하는 데 있어 salt라는(*소금, 솔트 : 솔트란 해시함수를 돌리기 전에 원문에 임의의 문자열을 덧붙이는 것) 것을 적용하여 여러번 해싱하여 더 안전하게 암호를 관리하도록 함
BCrypt는 동일한 평문 비밀번호를 암호화하더라도 해시 값은 매번 다른 값이 도출됨
BCryptPasswordEncoder에서는 평문과 암호화된 값의 일치 여부를 확인하는 메소드가 제공됨
프로젝트 내에서는 2가지의 제공 메소드를 사용함
1. encode
평문 비밀번호를 암호화하여 해시값으로 변형하는 메소드
무작위로 생성된 salt가 적용되어서 동일한 평문 비밀번호라 하더라도 다른 결과값의 암호화 문구가 반환됨
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder(); // 비밀번호 암호화 처리
String encPwd = passwordEncoder.encode("thpwd123!");
2. matches
로그인 시 입력한 평문 비밀번호와 데이터베이스에서 조회한 암호화된 비밀번호를 비교하여 일치 여부를 확인하기 위해 사용하는 메소드
두 비밀번호가 일치하는 경우 true 값을 반환, 그렇지 않은 경우 false 값을 반환하므로
해당 값을 통해 로그인 시 비밀번호 일치 여부를 체크할 수 있음
... 중간 생략
if(!passwordEncoder.matches(password, customUserDetails.getPassword())) {
throw new BadCredentialsException("비밀번호가 일치하지 않습니다.");
}
'참고용자료' 카테고리의 다른 글
[Css-in-Js] styled-components를 이용한 toast 간단하게 꾸미기 (0) | 2024.01.31 |
---|---|
[TypeScript] react /event의 TypeScript정리 (0) | 2024.01.25 |
이클립스 디컴파일러 수동설치 (0) | 2024.01.22 |
IBATIS -> MYBATIS 변환(마이그레이션) 방법 (0) | 2024.01.22 |
[IT 자격증] SQLD 합격후기 (0) | 2024.01.22 |