Atualidades

Criptografia de senha usando bcrypt nos NodeJs

Password Encryption
cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


Quando criamos uma conta em um site, fornecemos nossos detalhes e também criamos uma senha para acessar essa conta posteriormente. Todos os nossos detalhes vão para o banco de dados da organização, incluindo a senha. Portanto, se a senha for armazenada em texto sem formatação e o banco de dados ficar comprometido, há uma chance muito boa de que nossa conta possa ser acessada por intrusos usando nossa senha.

Criptografar uma senha e armazená-la em um banco de dados pode resolver esse problema. A criptografia garante que a senha seja armazenada de forma que um invasor não consiga descriptografá-la.

Temos um módulo chamado “bcrypt ” que podemos instalar e usar em nosso aplicativo NodeJs. O Bcrypt usa um algoritmo de hash para criptografar senhas antes de armazená-lo no banco de dados.

Então, vamos ver como podemos instalar este módulo de pacote e usá-lo em nosso aplicativo NodeJs para criptografar a senha.

PASSO 1: Instale e configure o bcrypt npm no diretório do aplicativo

npm install bcrypt

Uma vez instaladas as dependências, precisamos exigir bcrypt em nosso aplicativo e declarar uma variável conhecida como sal.

PASSO 2: Exija bcrypt no arquivo Nodejs e declare ‘salt’.

Const bcrypt = require (‘bcrypt’);

Sal Var = 10;

Aqui, a variável salt não passa de um fator de custo que determina quanto tempo é necessário para criar uma sequência de hash bcrypt. Geralmente, atribuímos um número aleatório a essa variável. Quanto maior o número escolhido, o número de rodadas de hash é feito e, portanto, ele é altamente seguro. O valor pode ser alterado para cálculos diferentes e, portanto, fornecerá resultados diferentes, mesmo que a mesma senha seja inserida por dois usuários diferentes.

Leia Também  Avaya Engage - Publicação rápida e Pix -

PASSO 3: Crie uma conta e gere um hash bcrypt.

Crie uma rota no seu aplicativo para inscrição.

Agora precisamos passar a senha que o usuário criou, uma variável salt que declaramos e uma função de retorno de chamada. Essa função de retorno de chamada retornará um erro e uma string criptografada.

bcrypt.hash () A função gerará automaticamente uma sequência de hash criptografada e agora você poderá inserir todos os dados inseridos pelo usuário junto com a senha no banco de dados. A senha inserida pelo usuário seria uma sequência criptografada.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br

bcrypt.hash (req.body.values.password, salt, (err, criptografado) => {
Req.body.values.password = criptografado;
services.signup (req.body, otp) .then ((userCreated) => {
response.status (200) .send (userCreated);
})
})

Senha criptografada armazenada no banco de dados

PASSO 4: Compare a cadeia criptografada com a senha no momento do login.

Crie um rota para login, isso verificará se o usuário já se registrou e inseriu a senha correta. Agora verifique se o email digitado pelo usuário está presente em o banco de dados ou não. Se estiver presente, verifique se o email e as senhas correspondem aos armazenados no banco de dados. Você pode fazer sozinho ou contratar desenvolvedores nodejs e eu sugiro que você contrate desenvolvedores reactjs para o desenvolvimento final.

Para isso, usamos brcypt.compare () função. Esta função pegará a senha digitada pelo usuário no momento do login e a senha criptografada do banco de dados e a corresponderá. Se ambas as senhas corresponderem, o login será bem-sucedido e o usuário será direcionado para a página inicial.

bcrypt.compare (req.params.password, senha,
função (erro, resultado) {
if (result == true) {
services.login (req.params.name, senha) .then ((userFound) =>
{
response.send (“A senha está correta”);
})
} outro {
response.send (“A senha está incorreta”);
}
})

Leia Também  Adolescente gastando em dezembro de 2018

Usar o bcrypt para criptografia de senha é muito fácil e útil para pessoas que trabalham com o Nodejs. É considerada a melhor prática armazenar a senha como uma seqüência de caracteres em hash, em vez de texto sem formatação para fornecer segurança aos dados do usuário.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br