Skip to content
This repository has been archived by the owner on Apr 9, 2023. It is now read-only.

5. Forma para armazenamento de senha

Gabriel Costa edited this page Dec 17, 2020 · 1 revision

🧾 Algoritmo

Através da biblioteca Python Passlib, o algoritmo de hash utilizado para a senha é o PBKDF2, Password Based Key Derivation Function 2 ou, em tradução livre do inglês, Função de derivação de chave baseada em senha 2.

  • Utiliza SHA512 HMAC
  • O tamanho da Hash gerada é de 512 bits (64 bytes)
  • Utiliza salt, e o gera aleatoriamente se o argumento não for passado

Acesse o link para mais detalhes sobre o algoritmo PBKDF2.

🔢 Banco de dados

  • A chave é armazenada no tipo BYTEA do Postgre
  • O formato armazenado é $[algoritmo]$[numero de iterações de hash]$[salt base 64]$[hash ou checksum (saída do algoritmo)]$ onde substituem-se as expressões com colchetes com suas respectivas variáveis identificadas pelo próprio nome

Exemplo:

$pbkdf2-sha512$25000$6T3nnFOKUYrRGqP03nvvHQ$sjGcvp2zWMevzhNHpiGqArNwIOCScsYUjHTM4O4eNOYjLRLgjWMiYi1KGyXpvPOf6m9WCQf4M0NgLjI1Kn9otA