[회고] 신입 iOS 개발자가 되기까지 feat. 카카오 자세히보기

🛠 기타/WEB

Node.js - bcrypt

inu 2021. 2. 4. 15:26
반응형

bcrypt

  • 암호를 해시처리하는데 도움을 주는 라이브러리이다.

패키지 설치

$ npm install bcrypt

기본사용법

const bcrypt = require('bcrypt');
const saltRounds = 10;
const myPlaintextPassword = 's0/\/\P4$$w0rD';
const someOtherPlaintextPassword = 'not_bacon';
  • 해시처리를 위한 기본값들이다.
  • saltRounds : 일종의 노이즈값으로 이 값을 높일 수록 해시처리하는데 드는 시간이 올라가 보안성이 높아진다.
  • myPlaintextPassword : 내 비밀번호값
  • someOtherPlaintextPassword : 비밀번호와 다른 값 (비교값)
bcrypt.hash(myPlaintextPassword, saltRounds, function(err, hash) {
    console.log(hash);
});
  • bcrypt.hash를 통해 해시값을 얻어올 수 있다.
bcrypt.compare(myPlaintextPassword, hash).then(function(result) {
    // result == true
});
bcrypt.compare(someOtherPlaintextPassword, hash).then(function(result) {
    // result == false
});
  • bcrypt.compare로 해시값과 기본값의 일치여부를 체크할 수 있다.
  • 각 result을 비교해보면 myPlaintextPassword는 true가 되고, someOtherPlaintextPassword는 false가 된다.

참고 : https://www.npmjs.com/package/bcrypt

반응형

'🛠 기타 > WEB' 카테고리의 다른 글

Redux - 기초 개념  (0) 2021.04.17
Nodejs - boilerplate  (0) 2021.04.16
JWT (JSON Web Token)  (0) 2021.02.03
서버기반 인증시스템과 토큰기반 인증 시스템  (0) 2021.02.03
Node.js - Passport.js 기초  (0) 2021.02.03