본문 바로가기

컴퓨터공학/Spring & Hibernate

Spring> Security> Password Encryption

원리

1. 데이터베이스에서 패스워드를 가져온다.

2. 알고리즘 id (bcrypt)  를 읽는다.

3. bcrypt 이라면 로그인 페이지에서 가져온 텍스트를 암호화한다.

4. 로그인 페이지에서 가져온 암호화된 패스워드와 데이터베이스 암호와 비교한다.

5. 같다면 로그인 성공

6. 틀리면 로그인 실패

 

데이터베이스에서 가져온 패스워드는 해독이 절대 안된다.

왜냐하면 bcrypt는 한 방향 암호화 알고리즘이기 때문이다.

 

 


 

스키마 새로 만들어 준다.

패스워드는 68글자. 

왜냐하면 8글자는 앞에 알고리즘id이고

60글자가 암호화된 패스워드이다.

 

properties 파일에서 스키마 이름만 바꾸면 된다. 

그러면 properties 파일의 내용을 dataSource로 저장하고

dataSource는 appConfig에 저장되며

Spring security가 필요할 때 제공하기 위해 Security Config에 저장되고

Spring security 는 dataSource의 정보로 데이터베이스에 접근하여

이름과 비밀번호를 비교한다.

 

 

 


비밀번호 수정

Bcrypt Calculator

 

Bcrypt Calculator

 

www.bcryptcalculator.com

텍스트에서 bcrypt 을 적용하는 사이트 

비밀번호를 수정하고 apply를 하자.

친절하게 쿼리로 표시해주는 창이 뜬다..

이것도 apply...

로그인하면 문제없이 완료