단방향 해쉬함수 'bcrypt' Module

2020. 1. 7. 13:38·Web/Nodejs

 

 

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

 

bcrypt

A bcrypt library for NodeJS.

www.npmjs.com

 

저작자표시 (새창열림)

'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
'Web/Nodejs' 카테고리의 다른 글
  • imagemagick module PDF->png 권한 설정 Error
  • Error: Cannot find module
  • Middleware Function 'next'
  • express & connect
M_Falcon
M_Falcon
  • M_Falcon
    Falcon
    M_Falcon
  • 전체
    오늘
    어제
    • 분류 전체보기 (432)
      • Web (16)
        • Nodejs (14)
        • Javascript (23)
        • FrontEnd (4)
      • DataBase (39)
        • Fundamental (1)
        • Redis (4)
        • PostgreSQL (10)
        • NoSQL (4)
        • MySQL (9)
        • MSSQL (3)
        • Error (4)
      • Algorithm (79)
        • Algorithm (문제풀이) (56)
        • Algorithm (이론) (23)
      • JVM (65)
        • Spring (13)
        • JPA (5)
        • Kotlin (13)
        • Java (24)
        • Error (7)
      • 기타 (70)
        • Kafka (3)
        • Kubernetes (3)
        • Docker (13)
        • git (19)
        • 잡동사니 (27)
      • 재테크 (11)
        • 세무 (4)
        • 투자 (3)
        • 보험 (0)
      • BlockChain (2)
        • BitCoin (0)
      • C (32)
        • C (10)
        • C++ (17)
        • Error (3)
      • Low Level (8)
        • OS (3)
        • 시스템 보안 (5)
      • 네트워크 (3)
      • LINUX (30)
        • Linux (26)
        • Error (4)
      • 저작권과 스마트폰의 이해 (0)
      • 생각 뭉치 (6)
      • 궁금증 (2)
      • Private (4)
        • 이직 경험 (0)
        • 꿈을 찾아서 (1)
      • Android (21)
        • OS (4)
  • 블로그 메뉴

    • 홈
    • WEB
    • 알고리즘
    • DataBase
    • Linux
    • Mobile
    • C
    • 방명록
  • 링크

    • github
  • 공지사항

  • 인기 글

  • 태그

    kafka
    linux
    database
    android
    Kotlin
    docker
    알고리즘
    Git
    프로그래머스
    java
    Bitcoin
    PostgreSQL
    백준
    javascript
    C++
    algorithm
    JPA
    ubuntu
    Spring
    Programmers
  • hELLO· Designed By정상우.v4.10.3
M_Falcon
단방향 해쉬함수 'bcrypt' Module
상단으로

티스토리툴바