Programming Learning Diary

node.js 내장객체3 /crypto

페이지 정보

작성일 19-11-25 11:34

본문

/* crypto */
const crypto = require('crypto');

let sha512 = crypto.createHash('sha512').update("1234").digest("base64");
console.log(sha512);  //sha512 를 이용한 1234 암호화
let sha514 = crypto.createHash('sha512').update("1234").digest("base64");
console.log(sha514);  //항상 같은 값을 출력
let sha513 = crypto.createHash('sha512').update("4321").digest("base64");
console.log(sha513);   //sha512 를 이용한 4321 암호화


crypto.randomBytes(64, (errbuf=> { //randomBytes 를 이용한 64비트 문자 생성
    const salt = buf.toString('base64'); //base64로 인코딩
    // console.log('salt: ', salt);
    crypto.pbkdf2('1234'salt3508564'sha512', (errkey=> { //비밀번호 //salt 값 // 반복획수 //출력바이트 //해시 알고리즘
    console.log(key.toString('base64')); //출력
    });
});


================================================================================================================================



1ARVn2Auq2/WAqx2gNrL+q3RNjAzXpUfCXrzkA6d4Xa22yhRLy4AC50E+6UTPoscbo31nbOoq51gvkuXzJ6B2w== 1ARVn2Auq2/WAqx2gNrL+q3RNjAzXpUfCXrzkA6d4Xa22yhRLy4AC50E+6UTPoscbo31nbOoq51gvkuXzJ6B2w== fi/qyV3NfR34AzReGXNpr0sVbk56lfyylVvbuzoRr9i7nTWTG/FVETcLGBQ+OLAbkD9Vxey97Ur5mTRgL83zjA== afR+P87TYmnntGGWMiNvXp+CHkenDA75IGNCX+j1LjiUGrPnTgwzWbXf6n8g7QeQAqtChtQdJ7N0TKcEeuKv+Q==


================================================================================================================================

//암호화 하기 모듈화 사용


const crypto = require('crypto');  //암호화
const util = require('util');
const randomBytesPro = util.promisify(crypto.randomBytes);
const pbkdf2Pro = util.promisify(crypto.pbkdf2);

module.exports = async (password=> {
    let buf = await randomBytesPro(64);
    let salt = buf.toString('base64');
    let key = await pbkdf2Pro(passwordsalt3508564'sha512');
    console.log(key.toString('base64'));
    return {saltkey};
}



const cryptoSalt = require('경로');
const password = '1234';
console.log(cryptoSalt(password));




============

댓글목록

등록된 댓글이 없습니다.