Giter VIP home page Giter VIP logo

auth-via-hash-and-salt's Introduction

auth-via-hash-and-salt

Sumário

Motivação

Este app é uma API Express.js que oferece uma estrutura sólida e eficiente para a implementação de autenticação por senha, utilizando técnicas avançadas de hash e salt. A seguir, detalhamos os métodos fundamentais incorporados nesta aplicação para assegurar a integridade e segurança das senhas.

Método _generatePassword()

O método _generatePassword() é responsável por gerar o hash e o salt para uma senha fornecida. Antes de iniciar o processo, verifica se a senha é válida por meio do método _isPasswordValid(). Se a senha atende aos critérios estabelecidos, um salt exclusivo é gerado usando bytes aleatórios (utilizando randomBytes(16)) e convertido para uma representação hexadecimal. Em seguida, é aplicada a função de derivação de chave baseada em senha (PBKDF2) para criar o hash. O resultado é uma combinação única de hash e salt, que é armazenada para autenticação futura.

Método isPasswordCorrect(password: string): boolean

O método isPasswordCorrect(password: string): boolean é utilizado para verificar se uma senha fornecida é correta. Utiliza a mesma função PBKDF2 para gerar o hash correspondente à senha fornecida e, em seguida, compara-o com o hash armazenado durante a geração da senha. Se os hashes coincidem, a senha é considerada correta, indicando uma autenticação bem-sucedida.

Esses métodos são essenciais para a segurança robusta do sistema de autenticação, garantindo que as senhas sejam armazenadas e verificadas de forma segura, utilizando técnicas modernas de criptografia. A implementação destes métodos proporciona uma base sólida para o desenvolvimento de sistemas de autenticação seguros e confiáveis.

Este foi o quinto repositório de código apresentado no Curso Superior de TSI do IFMS como requisito para obtenção da nota parcial das atividades da unidade curricular Web Services.

← Repositório anterior

Pilha de tecnologia

Papel Tecnologia
Linguagem de programação TypeScript
Framework de back-end Express
Banco de dados SQLite
Mapeamento Objeto-Relacional TypeORM

Como rodar

Pré-requisitos

Passo a passo

  1. Clone o repositório de código em sua máquina;

  2. Abra um shell de comando de sua preferência (prompt de comando, PowerShell, terminal etc.);

  3. Instale as dependências do projeto através do seguinte comando:

$ npm install

Caso esteja utilizando o gerenciador de pacotes Yarn, execute o seguinte comando como alternativa:

$ yarn
  1. Finalmente, execute o seguinte comando para executar o app:

Para npm:

$ npm run start

Para Yarn:

$ yarn start

auth-via-hash-and-salt's People

Contributors

mdccg avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.