bcrypt

bcrypt?

가끔 뉴스를 보면 커뮤니티사이트가 해킹되었지만 어느 사이트는 바로 비밀번호를 바꾸라고 권장하고 어느사이트는 걱정하지 않아도 된다고 합니다. bcrypt는 암호화 하는 과정에 salt를 이용하여 매번 결과가 다르게 출력됩니다.

하지만 md5 hash 암호화는 같은 password라는 단어를 암호화 하게 되면 항상 5f4dcc3b5aa765d61d8327deb882cf99를 반환합니다. 따라서 암호를 복호화 하는 과정이 매우 복잡하기 때문에 다른 hash함수를 이용하여 암호화하는 방법보다 더 안전하다고 할 수 있습니다.

bcrypt 사용 방법

1
npm install bcrypt

터미널에서 위 코드를 실행하여 bcrypt를 설치합니다.

1
const bcrypt = require('bcrypt')

사용할 자바스크립트 파일에서 위 코드를 요청하여 bcrypt를 활성화 해줍니다.

1
const hashed_password = bcrypt.hashSync(password, 10)

위 코드처럼 passwordbctypt를 이용하여 암호화해 줄 수 있습니다. 괄호 안의 10이란 숫자는 2^10번 연산하라는 것입니다.

1
const matched = bcrypt.compareSync(password, user.hashed_password)

위 코드는 암호화된 코드와 user가 입력한 코드를 비교하는 코드입니다. compareSync를 이용하여 앞의 password와 뒤의 user.hashed_password를 비교하게 됩니다.

공유하기