Hash de senhas com bcrypt no Node.js

345d atrás

0 0

Bcrypt é um algoritmo para hash de senhas, sua utilização é muito simples, ele recebe um texto e os salt rounds, e retorna um hash.

Salt rounds

É um número que define a quantidade de iterações no processo de geração do salt e hash da senha. Quanto mais rounds, mais esforço computacional será necessário para descobrir a senha. Por isso, é preciso definir uma quantidade razoável para gerar um hash seguro, mas que não consuma muito tempo para ser gerado. No exemplo abaixo usaremos 12 salt rounds.

Instalação

Para instalar use o comando abaixo, será necessário ter o #NodeJS instalado:

npm i bcrypt

Importação

import { compare, hash } from 'bcrypt';

Hash

Para retornar um hash use a função abaixo abaixo:

function hashPassword(password) {
  return await hash(password, 12);
}
12 se refere ao salt rounds

Compare

function comparePassword(plaintext, hash) {
  return await compare(plaintext, hash);
}

Exemplo de uso

const hashedPassword = await hashPassword('123456'); // $2a$12$gxJbZRYsE5RNai33MOYSAuHzDC0U2nm.tTGkLi5DNFMLjIo/9n0Rm

await comparePassword('12345', hashedPassword ); // false

Mais informações

Acesse o GitHub do repositório:

GitHub - kelektiv/node.bcrypt.js: bcrypt for NodeJs

bcrypt for NodeJs. Contribute to kelektiv/node.bcrypt.js development by creating an account on GitHub.


Comentários (0)

0/512
Link