Hash de senhas com bcrypt no Node.js
1a atrás
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);
}
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)