- HTTPS(HyperText Transfer Protocol over Secure)
- HTTP 요청을 SSL(Secure Socket Layer) 또는 TLS(Transport Layer Security)를 이용해 통신 과정에서 내용을 암호화하여 데이터를 전송
- 로컬환경에서 HTTPS 서버를 만들기 위해 'mkcert'를 이용하여 인증서 발급 및 적용
- Hashing: 어떠한 문자열에 임의의 연산을 적용하여 다른 문자열로 변환하는 것
- 해시 값을 계산하는데 오래걸리지 않아야 함
- 모든 값은 고유한 해시 값을 가지며, 이 때 해시 값들은 최대한 서로 피해야 함
- 아주 작은 단위의 변경이라도 완전히 다른 해시 값을 가져야 함
- Salt: 별도의 값을 추가하여 해시를 진행함으로써 암호화만 되었을 경우 알고리즘이 노출되어 decoding되는 경우를 방지
- Hash 값
- 기존: 암호화하려는 값 => hash 값
- 솔트사용: 암호화하려는 값 + salt 값 => hash 값
- 유저와 패스워드 별로 각각 유일한 값을 가져야 함
- 계정 생성과 비밀번호를 변경할 때마다 새로운 salt를 사용해야 함
- 절대 재사용하면 안됨
- DB의 유저 테이블에 같이 저장되어야 함
자료 출처: 코드스테이츠