crypto(암호화, 서명)

1620 단어 node
해시 알고리즘 서명: (MD5 또는 SHA1, sha256, sha512)
const crypto = require('crypto');

let hash = crypto.createHash('md5');   // hash 

//  update();
hash.update('abcd');    // 
hash.update('efg');     // 

console.log(hash.digest('hex')); //7ac66c0f148de9519b8bd264312c4d64

Hmac 해시 알고리즘 서명: (다른 것은 Hmac에 키가 하나 더 필요하다는 것이다)
const crypto = require('crypto');

let hmac = crypto.createHmac('sha256', ' ');

hmac.update('abcd');  // 
hmac.update('efg');   // 

console.log(hmac.digest('hex')); 
//4132f9ccff8720f858a1a161f833e73e0f5440741a2e28eab1d2cd5a217a1cff

데이터 암호화 및 복호화: (Cipher 암호화, Decipher 복호화)
const crypto = require('crypto');

function encrypt(data, key) {
    // 'aes192' key 
    let cipher = crypto.createCipher('aes192', key); 

    let crypted = cipher.update(data, 'utf8', 'hex'); // 
    crypted += cipher.final('hex');    // 
    return crypted;
}

function decrypt(encrypted, key) {
    // 'aes192' key 
    let decipher = crypto.createDecipher('aes192', key);  

    let decrypted = decipher.update(encrypted, 'hex', 'utf8');  // 
    decrypted += decipher.final('utf8');  // 
    return decrypted;
}

let data = 'abcdefg';
let key = ' ';
let encrypted = encrypt(data, key);
let decrypted = decrypt(encrypted, key);

console.log(' : ' + data);
console.log(' : ' + encrypted);
console.log(' : ' + decrypted);

좋은 웹페이지 즐겨찾기