Olá, pessoal!
Recentemente estou pesquisando e trabalhando em códigos para criptografia...
Bom, estudando um código que peguei na net para criptografia aes em php OO, conflitou-me alguns argumentos ao analisar o código em relação a quantidade de bits para a chave simétrica para encriptação de banco de dados.
Bom a dúvida é: o código em questão, usa uma chave final (resultados dos cálculos finalizando com o hash) em MD5. No código, a chave gerado por md5 com 32 caracteres é definida como uma chave de 256 bits sendo que o hash MD5 é uma hash de 128 bits (até onde entendi nas minhas pesquisas). Enfim, por lógica uma palavra de 32 caracteres certamente terá 256 bits (8 bits x 32 = 256 bits). Isto é o que está me confundindo, nas pesquisas que fiz diz que o hash MD5 é um hash de 128 bits, SHA1 um hash de 190 bits e SHA2 de 256 bits.
Neste ponto, a quantidade de bits de uma chave (resultado de um hash) é obtida pela soma de bits de cada caractere (8 x 1; 8 x 2, etc.) ou "hash base" com o qual a string foi codificada?
Não sei se consegui ser bem claro, mas creio que minha maior dúvida se resume em: o resultado, em bits, codificado por um algoritmo de hash é definido pelo hash utilizado ou pela quantidade de caracteres resultantes?
Por que se diz que o hash MD5 é um hash de 128 bits e o SHA1 de 190 bits?
Desde já agradeço a atenção e ajuda de todos.
Até+
Flavio_vivin...
Geek
Registrado
2.5K Mensagens
173 Curtidas
PHP: Número de bits de um hash para criptografia.
#1 Por Flavio_vivin...
02/01/2015 - 11:22