bcrypt
사용 방법
npm i bcrypt
const bcrypt = require('bcrypt');
const salt = await bcrypt.genSalt(10);
const hashed = await bcrypt.hash('12345678', salt);
const validPassword = await bcrypt.compare(req.body.password, user.password);
if (!validPassword) {
return res.status(400).send('이메일이나 비밀번호가 올바르지 않습니다.');
}
bcrypt 간단한 정리
bcrypt는 단방향 암호화라서 복호화가 불가능함. 매번 SALT값이 달라지기 때문.
만약 원본 비밀번호를 조회해서 확인해야 한다면 단순히 입력된 password와 암호화된 password가 같은지 다른지만 비교만 가능함.
비밀번호 찾기와 같은 기능에서 사용하려면 같은지 다른지 비교 후 같으면 새로운 비밀번호를 설정하게해서 DB에 넣어주는 방법을 사용함.