Hash x Criptografia

Hash x Criptografia - ENICOMP

Esses dias tive que utilizar funções hash para implementar um sistema de autenticação de uma API REST que eu estou desenvolvendo utilizando Ruby on Rails. Por isso, achei pertinente explicar para vocês a diferença básica entre criptografia e hash.

Normalmente os programadores e/ou interessados em computação confundem a diferença entre funções hash e criptografia. Aplicar um algoritmo hash não é a mesma coisa que criptografar um dado.

A diferença básica entre criptografia e hash é que a criptografia é feita para que o dado de mantenha confidencial, secreto, e que possa ser descriptografado posteriormente, utilizando a chave correta. Por outro, hash é utilizado para que o dado se mantenha integro. Ao “hashear” um dado, você procura que ele não possa ser recuperado.

Algumas das características de uma função hash:

  • Um conjunto de dados sempre produz a mesma hash. (*dependendo do algoritmo utilizado, podem existir colisões)
  • Depois de “hasheado”, você não consegue fazer o caminho contrário. (*dependendo do número de bits, é possível quebrar o hash utilizando Length Extension Attacks. Alguns dos algoritmos onde se é possível fazer esta quebrada: MD4, MD5, SHA-0).

Algumas aplicações para algoritmos hash:

  1. Busca de informações em bancos de dados
  2. Verificação de integridade em arquivos grandes
  3. Armazenamento de senhas

Espero que vocês tenham entendido a diferença de hash e criptografia. Até a próxima!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *