O que é hash?

 

Um hash (ou escrutínio) é uma sequência de bits geradas por um algoritmo de dispersão, em geral representada em base hexadecimal, que permite a visualização em letras e números (0 a 9 e A a F), representando 1/2 byte cada. O conceito teórico diz que "hash é a transformação de uma grande quantidade de informações em uma pequena quantidade de informações".


Essa sequência busca identificar um arquivo ou informação unicamente. Por exemplo, uma mensagem de correio eletrônico, uma senha, uma chave criptográfica ou mesmo um arquivo. É um método para transformar dados de tal forma que o resultado seja (quase) exclusivo. Além disso, funções usadas em criptografia garantem que não é possível a partir de um valor de hash retornar à informação original.


Como a sequência do hash é limitada, muitas vezes não passando de 512 bits, existem colisões (sequências iguais para dados diferentes). Quanto maior for a dificuldade de se criar colisões intencionais, melhor é o algoritmo.


Uma função de hash recebe um valor de um determinado tipo e retorna um código para ele. Enquanto o ideal seria gerar identificadores únicos para os valores de entrada, isso normalmente não é possível: na maioria dos casos, o contra-domínio de nossa função é muito menor do que o seu domínio, ou seja, x (o tipo de entrada) pode assumir uma gama muito maior de valores do que hash (x) (o resultado da função de hash).
Fonte: http://pt.wikipedia.org/wiki/Hash


Explicando um pouco a função Hash?


Como descrito acima, você pode ter uma noção do que e uma hash, mas muitos acreditam que as hashes podem ser decifradas, bem, isso e um equivoco comum, elas são geradas por algorítimo hash criptografo, o algoritmo que criou elas não podem ser revertidas para determinar a senha em texto simples.
Essa procedimento utilizados por computadores, e uma forma de evitar que as senhas sejam armazenas em texto puro na memoria, ao invés, quando uma senha e inserida (Ex: numa tela de login) um algoritmo hash cria um resultado da senha fornecida, e em seguida a saída hash e comparada com a hash para esse usuario que esta armazenado na memoria. Se os dois hashes não coincidirem, o usuario e autenticado, se os dois hashes não são os mesmo as senhas não combinam e o usuario tem acesso negado.


Tipos de hashes e como identificá-los


MD5 - O hash mais comuns que você vai encontrar na natureza é um hash MD5
(Message-Digest algorithm).


Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 32 caracteres de comprimento (128 bits)
- Eles são sempre hexadecimal (Utilize apenas caracteres 0-9 e A-F)


Exemplo - f5d1278e8109edd94e1e4197e04873b9



Se o hash quebra uma dessas regras não é MD5.


SHA1 - Ainda usado com frequência na internet e faz parte de uma grande família de Secure Hash Algorithms.


Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 40 caracteres de comprimento (160 bits)
- Eles são sempre hexadecimal (Utilize apenas caracteres 0-9 e A-F)


Exemplo - ab4d8d2a5f480a137067da17100271cd176607a1


Se o hash quebra uma dessas regras  não é SHA1.


MySQL 4.1 - Estes não são usados ​​com muita frequência, mas ainda surgem em muitas vezes porque as pessoas não têm ideia do que fazer com eles, eles são usados ​​em versões mais antigas do Mysql.


Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 16 caracteres (64 bits)
- Eles são sempre hexadecimal (Utilize apenas caracteres 0-9 e A-F)


Se o hash quebra uma dessas regras não é MYSQL 4.1.


Exemplo- 606727496645bcba


MYSQL5 - usado em versões mais novas do MySQL para armazenar senhas de usuários de banco de dados.


Esses hashes são facilmente identificados pelos seguintes fatores:
- Eles estão sempre 41 caracteres de comprimento
- Eles são sempre capitalizados
- Eles sempre começam com um asterisco


Se o hash quebra uma dessas regras não é MYSQL5.


Exemplo: *C8EB599B8E8EE7BE9F1A5691B7BC9ECCB8DE1C75


MD5 (Wordpress) - palavra usada em sites de imprensa dirigida, um dos hashes mais comumente confundidos em HF.


Estes Hashes são facilmente identificados pelos seguintes fatores:

- Eles sempre começam com $P$
- Eles estão sempre alfa caso variável numérica (0-9 a-z A-Z)
- Eles estão sempre 32 caracteres



Se o hash quebra uma dessas regras não é MD5(Wordpress).


Exemplo - $P$9QGUsR07ob2qNMbmSCRh3Moi6ehJZR1


MD5 (phpBB3) - Usado em fóruns PHPBB, outro hash comumente identificados.


Estes Hashes são facilmente identificados pelos seguintes fatores:

- Eles sempre começam com $H$
- Eles estão sempre alfa caso variável numérica (0-9 a-z A-Z)
- O sempre são 32 caracteres



Se o hash quebra uma dessas regras não é MD5(phpBB).


Exemplo - $H$7zrZa3mV3zwqTk0DCZc/89nm2GHR6R

 

Fonte: http://remote-execution.blogspot.com.br/2011/03/o-que-e-hash.html

.