분류 전체보기 (27) 썸네일형 리스트형 [Bcrypt] 비밀번호를 안전하게 저장하자 이번 프로젝트에서는 비밀번호를 Bcrypt로 안전하게 암호화해서 데이터베이스에 저장했다. Bcrypt는 무엇일까? 우선 Bcrypt라는 것을 사용하게된 배경부터 알아보자. 보통 데이터베이스에 비밀번호를 저장할 때는 해시함수를 사용한다. 비밀번호의 원본을 그대로 저장하면 보안상의 문제가 생기기 때문이다. 그렇다면 해시함수만 사용한다면 안전할까? 어느 정도 보안성은 유지될 수 있지만 Rainbow Table Attack 앞에서는 무기력하다. 흔하게 많이 사용되는 SHA-256 해시함수의 경우 속도가 매우 빠르다는 장점이 있다. 그런데 이 장점이 보안적인 측면에서 오히려 단점으로 작용한다. 속도가 매우 빠르기 때문에 약 수십억개가 넘는 Plain Text의 해시 값을 미리 구해놓은 Rainbow Table 이.. [JWT] Refresh Token 은 어떻게 관리할까? 레이서 포트폴리오 프로젝트를 진행하면서 했던 가장 큰 고민중 하나다. Access Token이 만료되면 Refresh Token을 이용해 재발급 받는다. 그런데 Refresh Token은 어떻게 관리할까? 우선 Refresh Token이 왜 필요한지 부터 알아봤다. Access Token은 보통 로컬 스토리지로 관리한다. 자바스크립트의 localStorage를 사용해서 쉽게 저장할 수 있다. 다만 보안에 취약할 수 있다는 단점이 있다. 그래서 Access Token 같은 경우 만료 시간을 30분에서 1시간 정도로 짧게 설정한다. 이후 Access Token이 만료되고 나면 Refresh Token을 이용해 새로운 Access Token을 재발급 받는다. 어떻게?? 어떤 방법을 이용해서 클라이언트가 서버에.. [React & Flask] Azure 에 배포해보기 엘리스 튜터님에게 받은 엘리스전용 애저 도메인과 비밀번호가 있습니다. 우리는 이 도메인과 비밀번호로 애저 가상머신에 접속할 수 있습니다. 바로 시작해봅시다. 우선 터미널을 켭니다. 누가봐도 개발자들만 만질 것 같은 이렇게 검게 생긴 터미널 창을 켭니다. 여기에 ssh elice@도메인 을 입력합니다. 그러면 '너는 정말 연결을 원하느냐?!' 라는 질문을 할겁니다. 당연히 yes 해야겠죠? 그러면 password를 입력하라고 할겁니다. 여기에다 비밀번호를 입력합니다. 비밀번호를 입력해도 아무것도 안뜰겁니다. 보안을 위해서 그렇게 설정해놨기 때문이죠ㅎㅎ 그치만 입력하는 내용은 그대로 입력이 되고 있으니까 걱정말고 오타없이 정확히 비밀번호를 입력해주세요. (신중하게 입력해야겠죠?) 자, 터미널에 이렇게 뜨고나.. 이전 1 2 3 4 다음