Giter Site home page Giter Site logo

andregabos / cryptography-study Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 68 KB

Estudo feito sobre formas diferentes de criptografar informações do usuário que ficam guardadas no banco de dados.

JavaScript 45.12% CSS 2.35% EJS 52.53%
passport criptografia string-chave javascript node-js mongodb dotenv hashing salting oauth

cryptography-study's Introduction

cryptography-study

Estudo de níveis de criptografia a partir de um site com as funções de registro de conta e login.

A intenção é de aplicar diferentes ferramentas para desenvolver a criptografia e segurança do site, desde o uso de uma string como chave até formas mais complexas.

Um link para o commit com as mudanças referentes as vesões está disponível após suas descrições.

Versões

v1.

Criptografia construída a partir do uso de uma string chave (usando mongoose-encryption) e environment variables (usando dotenv), para criptografar a senha do usuário e esconder a chave de criptografia, respectivamente. Commit f8150f9

v2.

Troca do método de chave + variáveis para criptografia por hashing e identificação por comparação do hash, utilizando a extensão no node.js, md5. Commit 89b96ae

v3.

Nesta versão foi aplicado o método de salting + hashing. O modulo utilizado para o hashing foi trocado, do md5 para o BCrypt, com o objetivo de complexificar o hash e com isso aumentar a segurança. O BCrypt também inclui a função de salting, que foi aplicada em 10 rodadas para esse teste. Commit 0bcd5bd

v4.

Essa versão inclui a aplicação dos métodos anteriores em conjunto e a adição de cookies, com a utilização do Passport e Express-session. String chave, salting e hashing são executados por esse módulos, e a integração à database (MongoDB), para criptografar as senhas guardadas e autenticação, é feita a partir do módulo Passport-local-mongoose. Nessa aplicação, com a introdução dos cookies, é possível manter o login autenticado e a página /secrets acessível até que o navegador seja fechado. Commit 080c3d5

v5.

Nessa ultima versão as páginas de registro e login foram alteradas para incluír o método OAuth de cadastro e autenticação pela conta do Google. O módulo usado para a integração foi o passport-google-oauth20, e todos os módulos e métodos de criptografia anteriores foram mantidos para os usuários que escolherem o registro pelo aplicativo. Commit 79b8f39

cryptography-study's People

Contributors

andregabos avatar

Watchers

 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.