profile
Frontend Developer. 블로그 이사했어요 🚚 → https://iamhayoung.dev
post-thumbnail

Node.js :: Bcrypt로 비밀번호 해싱(Hashing)하기

비밀번호 해싱(Password hashing)?🧐 유저가 클라이언트(회원가입 폼 등)에서 입력한 ID, 비밀번호, 이름 등의 정보는 데이터베이스에 저장된다. 데이터베이스에 저장되는 정보 중 특히 비밀번호와 같은 정보는 더욱 더 민감하게 다뤄져야하는데 서버 관리자와 정보를 관리하는 데이터베이스 관리자를 포함하여 유저 본인이 아닌 다른 그 누구도 알아서는 안되며, 설사 유출됐다고 하더라도 비밀번호를 해독하지 못하는 형태로 변형해줘야한다. 예를 들어 유저가 다음과 같은 정보로 회원 가입을 했다고 치자. > ID: user1 PW: 12345 이때 유저가 비밀번호로 입력한 12345라는 그 자체의 문자열을 Plain Text라고 한다. 비밀번호의 값을 데이터베이스에 Plain Text인 채로 저장한다면 비밀번호가 서버 관리자와 정보를 관리하는 데이터베이스 관리자에게 유출되는 것은 물론이며, 해킹을 당했을 시 당연하게도 비밀번호가 아주 손쉽게 도용될 것이

2021년 5월 17일
·
0개의 댓글
·
post-thumbnail

dotenv로 환경변수 설정하기 & Node.js(Express)와 MongoDB 연동하기

dotenv란?🤓 API 키나 계정의 ID, 비밀번호와 같은 기밀 정보를 있는 그대로 코드에 작성하거나, 기밀 정보가 담긴 코드를 Github과 같은 오픈소스에 공개하는 것은 보안적으로 아주 위험한 행동이다. dotenv는 .env라는 외부 파일에 중요한 정보를 환경변수로 저장하여 정보를 관리할 수 있게 해준다. 그래서 dotenv를 사용하면, 전역적으로 필요한 정보나 기밀 정보와 같이 예민한 정보를 일반 소스 코드 내부가 아닌 .env라는 외부 파일에 작성할 수 있게 된다. 잊지 말아야할 것(!)은 중요한 정보가 담긴 .env파일을 git에 commit하면 파일 내용이 그대로 git에 박제(?) 되기 때문에 .gitignore에 .env 파일을 추가해주어 파일이 git에 올라가지 않도록 배제해준다. doten

2021년 5월 15일
·
0개의 댓글
·