< Node.js

Titkosítás

Szerző: Sallai András

Copyright © 2024, Sallai András

Szerkesztve: 2024

Licenc: CC BY-SA 4.0

Web: https://szit.hu

bcryptjs

A bcryptjs a C++ alapú bcrypt JavaScript-re optimalizált verziója. Blowfish titkosítást használ.

npmjs.com helyen:

https://www.npmjs.com/package/bcryptjs

Telepítés:

npm install bcryptjs

const bcrypt = require('bcryptjs'); const szoveg = 'titok'; const hash = bcrypt.hashSync(szoveg); console.log(hash);

Nem adtunk meg sót, de az automatikusan generálódik, 22 karakter hosszú.

const bcryptjs = require('bcryptjs'); /* Jelszó, amit tárolni szeretnénk: */ const szoveg = 'titok'; /* Paraméterek: jelszó, só bonyolultsága; 10 körülbelül 1024 iteráció: */ const salt = bcryptjs.genSaltSync(10); /* Paraméterek: jelszó, só: */ const hash = bcryptjs.hashSync(szoveg, salt); console.log(hash); /* Ellenőrzés paraméterei: bekért jelszó, a már meglévő hash */ const res = bcryptjs.compareSync(szoveg, hash); console.log(res);

Asszinkron módban, ellenőrzés is:

const bcryptjs = require('bcryptjs'); const szoveg = 'titok'; /* jelszó, só hossza, callback függvény */ bcryptjs.hash(szoveg, 10, (err, hash) => { console.log(hash); }) const hash = '$2a$10$rEep5i3RlXnSvIObnND6qOrxqKJLXpmGHlrnKoSpVI6ROiHwB1TtK'; bcryptjs.compare(szoveg, hash, (err, res) => { console.log(res); });

crypto-js

Webhely:

https://www.npmjs.com/package/crypto-js

Telepítés:

npm install crypto-js

const cryptojs = require('crypto-js'); const szoveg = 'titok'; const hash = cryptojs.MD5(szoveg).toString(); console.log(hash);
const cryptojs = require('crypto-js'); const szoveg = 'titok'; const hash = cryptojs.SHA256(szoveg).toString(); console.log(hash);
const cryptojs = require('crypto-js'); const szoveg = 'titok'; const hash = cryptojs.SHA512(szoveg).toString(); console.log(hash);

argon2

npm install argon2

const argon2 = require('argon2'); const szoveg = 'titok'; argon2.hash(szoveg).then(hash => { console.log(hash); });
const argon2 = require('argon2'); const szoveg = 'titok'; const hash = '$argon2id$v=19$m=65536,t=3,p=4$qtzFpXHWk/X/MJziOST2RQ$orDbO+QZ+1bT5lsZcBwUiTFHl4fsqvTLeJxcrKYIIr4'; argon2.verify(hash, szoveg).then(isVerified => { console.log(isVerified); });

pbkdf2

Tároló:

https://www.npmjs.com/package/pbkdf2

Telepítés:

npm install pbkdf2

const pbkdf2 = require('pbkdf2'); const szoveg = 'titok'; /* Paraméterek: jelszó, só, iterációk, kulcshossz, digest algoritmus */ const hash = pbkdf2.pbkdf2Sync(szoveg, 'aaaaa', 1000, 64, 'sha512'); //hex, base64 console.log(hash.toString('base64'));