(local passport mongoose 패키지를 사용하면 더 간편하게 회원가입,로그인을 구현할수있다!)
깃허브에서 패키지 코드를 처음 열어봤다. 코드가 진짜 짧고 깔끔해서 놀랐다.
에러 조건도 확인할수있어서 시간들여 읽어볼만한거 같다.
bcrypt는 평문 값을 해싱하고 그 값을 원래 값(평문 값)과 대조 할수있는 메소드를 가진 패키지다!
github.com/kelektiv/node.bcrypt.js
기본 용어
해시: 평문 비밀번호를 복원할수 없는 문자열로 만드는 것
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일이 걸린다고한다.
따라서 비동기로 처리하는걸 권장한다고한다.
'프로그래밍 > nodeJS' 카테고리의 다른 글
Controller 수준의 유효성 검증 (express-validator) (2) | 2020.12.07 |
---|---|
HTML 유효성 검증 취약점 (0) | 2020.12.04 |
flashMessage(connect-flash 패키지) (2) | 2020.10.25 |
ejs와 레이아웃(express template) (2) | 2020.10.20 |
미들웨어 구조와 기본 미들웨어 세팅 (2) | 2020.10.18 |