A bcryptjs a C++ alapú bcrypt JavaScript-re optimalizált verziója. Blowfish titkosítást használ.
npmjs.com helyen:
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ó vagy bonyolultság: */ 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); });
Webhely:
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);
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); });
Tároló:
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'));