제가 이번에 로그인을 구현하려고 하는데 비밀번호를 암호화해서 디비에 저장하고싶습니다.
SHA256을 활용해서 저장하고 싶은데 구글에 치자마자 값이 다나와버려서... 솔트 값을 이용해서 저장하려고 합니다.
구글링을 하며 어떻게 구현을 할 지 생각 해 봤는데 이게 맞는지 알려주실 수 있나요...
1. 클라이언트에서 사용자가 계정을 만드는 요청을 받을 때 서버는 해쉬 알고리즘을 이용해 솔트를 생성하여 디비에 저장한다.
2. 클라이언트에서 로그인을 시도할 때 아이디와 함께 솔트 값 요청을 서버에게 보내고 서버는 디비에서 아이디와 대조하여 솔트 값을 반환한다(이 때 아이디 등록 여부 확인 가능).
3. 클라이언트는 이 솔트 값을 패스워드에 더하여 로그인 요청을 서버에게 보내고 서버는 디비에서 이 정보를 조회하여 로그인 성공 여부를 반환한다.
이렇게 구현할 생각인데 이게 맞는건지 좀 알려주세요ㅠㅠ
그리고 제가 백엔드 개발자가 될 생각으로 공부 중인데 암호학을 혹시 어디까지 배워야 할 지 알려주시면 정말정말로 감사하겠습니다!!