목록backend (2)
발전하는 춘배
개요회원 로그인을 구현할 때 주로 사용되는 인증 방식에는 아래와 같이 크게 세 가지가 있다. 쿠키 방식 세션 방식 토큰 방식 각 방식은 고유한 장단점을 가지고 있어 적절히 선택해야 한다.알아보도록 하자.인증(Authentication)이 왜 필요할까서버는 클라이언트 각각을 기억하지 못한다. 이는 다음과 같은 HTTP 프로토콜의 특성에 기인한다. 비연결성 (Connectionless):실제로 요청을 주고받을 때만 연결을 유지하고 응답을 주고 나면 연결을 끊는다. 최소한의 자원으로 서버를 유지하기 위함이다. 무상태 (Stateless):서버가 클라이언트의 상태를 저장하지 않는다. 따라서 응답과 요청이 독립적이다.따라서 로그인과 같이 클라이언트가 자신이 누구인지 서버에게 알려야 하는 기능을 구현하기 위해서는..
개요프로젝트를 진행하던 중 유저의 패스워드를 어떻게 DB에 저장해야 좋을 지 고민하게 되었고, 이 과정에서 알게 된 것들을 정리해 본다.최악가장 최악의 방법은 위와 같이 유저의 password를 문자 그대로 저장하는 것이다.유저의 패스워드를 이렇게 저장하는 서비스는 존재해선 안 된다.Hashing적어도 패스워드는 이렇게 암호화해서 DB에 저장해야 하는데, 이 때 해시 알고리즘을 사용한다.해시 알고리즘에는 여러 종류가 있는데, 위의 예시는 SHA512 알고리즘을 이용하였다.해시 알고리즘들이 가지는 특성은 다음과 같다.입력값을 i, 알고리즘을 거쳐 나온 출력값을 o라 하자.i가 주어지면 o를 쉽게 구할 수 있다.같은 i에 대해서는 항상 같은 o가 나온다.i가 한 글자만 달라져도 o는 매우 크게 변한다.i의 ..
