회원가입_비밀번호 암호화(BCryptPasswordEncoder)

hiyayeah·2023년 1월 11일
0

MVC_Model1 -> Spring_MVC

목록 보기
8/12

1. pom.xml

  • 해싱에 사용할 BCryptPasswordEncoder 클래스 활용을 위한 라이브러리 추가
<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
<dependency>
    <groupId>org.springframework.security</groupId>
    <artifactId>spring-security-web</artifactId>
    <version>5.7.5</version>
</dependency>

2. MemberController.java

  • BCryptPasswordEncoder 를 활용하여 해싱할 경우 Salting 을 통해 동일한 평문이라도 매번 다른 결과값을 갖는 해싱이 가능
// 회원가입 작업 수행
@PostMapping (value = "join") 
public String join(
			@ModelAttribute MemberVO member, 
			@RequestParam String member_email1, 
			@RequestParam String member_email2, Model model) {
	
	// ------------------ BCryptPasswordEncoder 활용한 해싱 ----------------------
	// 1. BCryptPasswordEncoder 객체 생성(spring-security-web 라이브러리 필수)
	BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
	// 2. BCryptPasswordEncoder 객체의 encode() 메서드를 호출하여 해싱 결과 리턴
	//    => 파라미터 : 평문    리턴타입 : String
	String securedPasswd = encoder.encode(member.getMember_passwd());
	// 3. MemberVO 객체의 패스워드에 암호문 저장
	member.setMember_passwd(securedPasswd);
	// ---------------------------------------------------------------------------
    .
    .
	.

3. 확인

+------------+------------+--------------------------------------------------------------+-------------+---------------+
| member_idx | member_id  | member_passwd                                                | member_name | member_gender |  
+------------+------------+--------------------------------------------------------------+-------------+---------------+
|          1 | admin      | 12341234!                                                    | 관리자      | f              | 
|          2 | karina0411 | 12341234!                                                    | 유지민      | f              | 
|          3 | hiyayeah   | 12341234!                                                    | 김소희      | f              | 
|          4 | winter     | 12341234!                                                    | 김민정      | f              |
|          5 | spring     | $2a$10$wZq57mfgDm2iAPitbKtgZe9.B85Y7I2DesnZBfBrxXjyCG.X8L5p. | 김봄        | m              |
+------------+------------+--------------------------------------------------------------+-------------+---------------+

이전까지 가입된 member와 달리, 암호화 설정 후 가입한 5번 회원은 패스워드가 암호화 되어 INSERT 된 것을 확인!

0개의 댓글