bcrypt로 사용자 비밀번호 암호화하기

Eom Deokhyeon·2022년 9월 14일
0
post-thumbnail
post-custom-banner

📌 bcrypt란?

Bcrypt는 레인보우 테이블 공격 방지를 위해 솔트를 통합한 적응형 함수 중 하나이다. SHA 종류의 암호화는 GPU 연산에 유리한 32비트 논리 및 연산만 사용하기 때문에 GPU 연산을 이용한 공격에 취약하다고 한다. 그래서 Bcrypt 설계자는 Blowfish를 이용해 구현했다고 한다.

1. bcrypt 설치

$ npm i bcrypt

2. 모듈 가져오기

const bcrypt = require('bcrypt');

3. 비밀번호 암호화

const password = 'abcd1234';
 
// hash
bcrypt.hash(password, 10, (err, encryptedPW) => {
  // callback
});

// hashSync
const hash = bcrypt.hashSync(password, 10);
  • hash메소드의 파라미터인 10이 바로 솔트이다. 이 솔트의 값이 높을수록 암호화 연산이 증가하여 보안성은 높아지지만 암호화 속도가 느려진다.

4. 결과

post-custom-banner

0개의 댓글