해시 생성 및 암호화와 관련된 Node.js 내장 모듈
가장 기본적으로 사용할 수 있는 클래스, 암호화를 진행할 때 Salt를 사용하지 않는다면 사용할 수 있다.
//Node.js 내장 모듈이므로 install 없이 사용할 수 있다.
const crypto = require('crypto');
//Hash Class 생성
//crypto.createHash()의 파라미터로는 알고리즘의 String 값을 넣어준다.
//사용할 수 있는 알고리즘의 목록은 crypto.gethashes()메소드를 사용하면 알 수 있다.
const hash = crypto.createHash('sha256');
//hash.update()의 파라미터로는 암호화할 입력 값을 넣어준다.
hash.update("조수현")
//hash.digest()의 파라미터는 인코딩할 type을 string 값으로 넣어준다.
//hash.digest() 실행 후 암호화 된 비밀번호가리턴 된다.
console.log(hash.digest("hex"))
//ddba8f88767e35869473fba2418ad101186f9cb0599436f9850d493b761d2c30
암호화를 진행할 때 Salt를 사용한다면 사용할 수 있다.
const crypto = require('crypto');
//Hmac Class 생성
//crypto.createHmac()의 파라미터로는 알고리즘의 String 값과 salt 값을 넣어준다.
//사용할 수 있는 알고리즘의 목록은 crypto.gethashes()메소드를 사용하면 알 수 있다.
const salt = "바보"
const hmac = crypto.createHmac('sha256', salt);
//hmac.update()의 파라미터로는 암호화할 입력 값을 넣어준다.
hmac.update("조수현")
//hmac.digest()의 파라미터는 인코딩할 type을 string 값으로 넣어준다.
//hmac.digest() 실행 후 암호화 된 비밀번호가 리턴 된다.
console.log(hmac.digest("hex"))
//cc05073d9d88a4935681bcb12f6f96f393143e64b94db559c1e6bfce7afa5046