혼자 적어보는 노트

[Node.js] bcrypt로 암호화 본문

NodeJS

[Node.js] bcrypt로 암호화

jinist 2022. 3. 18. 01:26

 

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

 

bcrypt

A bcrypt library for NodeJS.. Latest version: 5.0.1, last published: a year ago. Start using bcrypt in your project by running `npm i bcrypt`. There are 3237 other projects in the npm registry using bcrypt.

www.npmjs.com

 

비밀번호 암호화 라이브러리

 

📂 설치

npm i bcrypt

 

🔑 비밀번호 암호화

bcrypt.hash(myPlaintextPassword, saltRounds).then(function(hash) {
    // hash == 암호화된 비밀번호
});

bcrypt.hash는 첫번째인자로 암호화할 password를 받고, 두번째로 salt의 횟수를 지정한다.
bcrypt는 비동기함수이고 promise와 연결해서 사용할 수 있다.
salt의 값이 높을수록 보안에 좋지만 암호화하는데 속도가 느려진다.

 

const hashedPassword = await bcrypt.hash(req.body.password, 12);

이런식으로 비밀번호를 재 지정해줄 수 있다.

 

✅ 비밀번호 검증

bcrypt.compare(PW , hashedPassword (err, same) => {
  console.log(same);  // true
})

compare를 통해서 로그인 시 비밀번호의 일치를 확인할 수 있다.

Comments