[TIL] 2020. 07. 30. Crypto

달밤·2020년 7월 30일
1

TIL

목록 보기
84/110
post-thumbnail

오늘 배운 것

Crypto

해시 생성 및 암호화와 관련된 Node.js 내장 모듈

1. Class : Hash

가장 기본적으로 사용할 수 있는 클래스, 암호화를 진행할 때 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

2. Class : Hmac

암호화를 진행할 때 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

참고

profile
다 늦은 밤, 달밤의 개발일기

0개의 댓글