인증

User Module에 대한 구조는 다음과 같다.


비밀번호 해쉬 만들기

비밀번호를 일반 텍스트로 저장해서는 안된다. 이 암호화를 위하여 , 해쉬(Hash) 처리를 한다.

해쉬는 입력값이 해쉬 암호화 되면, 원본의 입력값이 뭔지 알 수 없다.


암호의 경우, 테이블에 해쉬처리한 값을 저장한다.


레인보우 테이블 공격(Rainbow Table Attack)

해커가 목록을 가지고 전 세계적으로 잘 사용하는 목록으로 미리 해시값으로 만들어 둔 후, DB에 접근하여 탈취 하는 공격

방어 방법으로 솔트(Salt) 가 있다.


솔트

사용자가 입력한 암호와 솔트를 함쳐 문자열을 해쉬처리한다.

이후, 저장된 해쉬값을 찾을때에는 테이블에 저장된 솔트와 사용자가 입력한 암호를 조합하여 다시 해쉬처리를 하여 매칭한다.

email, password를 똑같이 처리하기 때문에 DTO는 CreateUserDto를 사용

Last updated