Tartalomjegyzék

< Node.js

Titkosítás

bcryptjs

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
index.js
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ú.

index.js
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:

index.js
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:

Telepítés:

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

argon2

npm install argon2
index.js
const argon2 = require('argon2');
 
const szoveg = 'titok';
 
argon2.hash(szoveg).then(hash => {
  console.log(hash); 
});
index.js
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ó:

Telepítés:

npm install pbkdf2
index.js
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'));