1. 용도
단방향 해쉬함수를 통해 비밀번호 (회원가입, 로그인)등 암호화
node.js 에서 지원!
2. module 설치
npm install --save bcrypt
npm install -g bcrypt-nodejs
(※ Windows OS 경우 Error 가능성 많아 windows-tool Package 별도 설치 필요)
3. 예제
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
const SALT_ROUNDS = 10;
const bcrypt = require('bcrypt');
//test전용 2가지 패스워드
//bycrpt hash method error :
//data must be a string and salt must either be a salt string or a number of rounds
// data 는 반드시 string이거나 그냥 salt!
const plaintextPassword = '123456';
const someOtherPlaintextPassword = 'not_bacon';
bcrypt.genSalt(SALT_ROUNDS, function(err, salt){
if(err){
console.log('genSalt Error: ' + err);
} else {
//genearte hash on separate function calls):
bcrypt.hash(plaintextPassword, salt, function(err, hash){
if(err) {console.log('bycrpt hash method error : ', err.message);}
else {
//평문과 hash 된 password 비교 -> 로그인 기능에 사용하기 좋음.
bcrypt.compare(plaintextPassword, hash, function(err, res){
if(err){
console.log('bcrypt.compare() error : ', err.message);
} else {
if(res){console.log('plaintextPassword === hashedPassword');}
else{
console.log('plaintextPassword !== hashedPassword');
}
}
});
console.log(hash);
}
});
}
});
|
4. Reference
'Web > Nodejs' 카테고리의 다른 글
imagemagick module PDF->png 권한 설정 Error (0) | 2020.02.06 |
---|---|
Error: Cannot find module (0) | 2020.01.15 |
Middleware Function 'next' (0) | 2019.12.31 |
express & connect (0) | 2019.12.06 |
Nodejs Module 'http' (0) | 2019.12.01 |