<-->
본문 바로가기

프로그래밍/nodeJS

bcrypt를 사용한 비밀번호 암호화

반응형

(local passport mongoose 패키지를 사용하면 더 간편하게 회원가입,로그인을 구현할수있다!)

 

깃허브에서 패키지 코드를 처음 열어봤다. 코드가 진짜 짧고 깔끔해서 놀랐다.

에러 조건도 확인할수있어서 시간들여 읽어볼만한거 같다.

 

bcrypt평문 값을 해싱하고 그 값을 원래 값(평문 값)과 대조 할수있는 메소드를 가진 패키지다!

github.com/kelektiv/node.bcrypt.js

 

kelektiv/node.bcrypt.js

bcrypt for NodeJs. Contribute to kelektiv/node.bcrypt.js development by creating an account on GitHub.

github.com

기본 용어 

 

해시: 평문 비밀번호를 복원할수 없는 문자열로 만드는 것

 

salt: 해시값을 대조하여 비밀번호가 해독되는것을 막기위해 해시값에 더해주는 랜덤한 문자열

 

 

사용법

 

npm i bcrypt로 설치

 

const bcrypt = require('bcrypt'); 로 불러오기

 

해시 -> bcrypt.hash(암호화 할 문장, salt,cb(err,encrypted)) //cb는 선택사항이다

 

salt는 데이터를 처리하는 비용이다. salt값이 클수록 해싱하는데 오래걸린다.

 

대조 -> bcrypt.compare(data, encrypted, cb(err,same) //cb는 선택사항

 

data와 해싱된 encrypted 값을 비교한 결과를 cb의 same에서 true || false 로 알수있다.

 

 

 

p.s. 특정 환경에서 salt값이 31인채로 해시하면 하나 해시하는데 2-3일이 걸린다고한다.

따라서 비동기로 처리하는걸 권장한다고한다.