2021년 9월 6일에 작성된 문서 2번 입니다.
https 배운 내용을 정리했습니다.
해싱 (Hashing)과 암호화

- 클라이언트가 서버에 이메일과 비밀번호를 가지고 요청
- 서버가 정보를 받고 데이터 베이스에서 이메일과 비밀번호를 받음
- 비교 후, 서로 일치하면 데이터 베이스에서 해당 관련 정보를 서버에 요청
- 이 요청을 받은 서버는 다시 클라이언트에 반환
암호화
일련의 정보를 임의의 방식을 사용하여 다른 형태로 변환하여 해당 방식에 대한 정보를 소유한 사람을 제외하고 이해할 수 없도록 알고리즘을 이용해 정보를 분리하는 과정
-
암호화의 예시

해싱 (Hashing)
어떠한 문자열에 임의의 연산을 적용하여 다른 문자열로 변환하는것

- 모든 값에 대해 해시 값을 계산하는데 오래걸리지 않아야 한다.
- 최대한 해시값을 피해야하며 모든값은 고유 해시값을 가진다.
- 아주 작은 단위 변경이라도 완전히 다른 해시값을 가져야 한다.

솔트 (Salt)
암호화해야하는 값에 어떤 별도의 값을 추가하여 결과를 변형하는것
솔트 (Salt) 사용시 주의할 점
- 솔트는 유저와 패스워드별로 유일한값을 가져야 한다.
- 사용자 계정을 생성할 때와 비밀번호를 변경할 때마다 새로운 임의의 솔트를 사용해서 해싱해야 한다.
- 솔트는 절대 재사용해서는 안된다
- 솔트는 데이터베이스의 유저 테이블에 같이 저장 되야 한다.
Written with StackEdit.