SHA1 ou MD5?
Alguém sabem me dizer qual é a diferença entre os algorítimos SHA1 e MD5? E em qual situação um ou outro seria mais adequado?
André Gomes
Curtidas 0
Melhor post
Gabriel Rocha
04/05/2017
O md5 gera uma string alfa-numérica de 32 caracteres, não importa se você tá gerando o md5 de duas letras ou de um texto de 20 parágrafos… O md5 gerado sempre vai ter 32 caracteres.
Você pode usar o md5 na hora de salvar um dado sigiloso (senhas) o banco… Com isso, ninguém tem acesso à senha original do cliente. Depois é só comparar o md5 do que foi digitado no campo senha (na hora do login) com o que está armazenado no banco, se bater, tá tudo certo.
SHA1
A outra hash de mão única é o sha1. Ele é praticamente identico ao md5, só que tem 160 bits, o que acaba criando uma string-resultado maior: 40 caracteres alfa-numéricos. Outro ponto do sha1 é que, por ser 160 bits e gerar uma cadeia de caracteres maior, uma colisão (encontrar duas strings que, codificadas, sejam a mesma coisa) é bem mais rara que numa chave de 128bits.
Você pode usar o md5 na hora de salvar um dado sigiloso (senhas) o banco… Com isso, ninguém tem acesso à senha original do cliente. Depois é só comparar o md5 do que foi digitado no campo senha (na hora do login) com o que está armazenado no banco, se bater, tá tudo certo.
SHA1
A outra hash de mão única é o sha1. Ele é praticamente identico ao md5, só que tem 160 bits, o que acaba criando uma string-resultado maior: 40 caracteres alfa-numéricos. Outro ponto do sha1 é que, por ser 160 bits e gerar uma cadeia de caracteres maior, uma colisão (encontrar duas strings que, codificadas, sejam a mesma coisa) é bem mais rara que numa chave de 128bits.
GOSTEI 6
Mais Respostas
André Gomes
04/05/2017
Muito obrigado Gabriel,
Esclareceu uma dúvida que eu já tinha a algum tempo.
Com isso, eu poderia afirmar então que o SHA1 seria uma melhor opção por ser mais seguro?
Um abraço.
Esclareceu uma dúvida que eu já tinha a algum tempo.
Com isso, eu poderia afirmar então que o SHA1 seria uma melhor opção por ser mais seguro?
Um abraço.
GOSTEI 1
Diego Silva
04/05/2017
Opa pessoal, beleza? Entre essas duas opções eu usaria o sha1 conforme a explicação do Gabrielscr.
Porém acredito que existem recursos melhores hoje em dia, como o Bcrypt por exemplo.
Aconselharia a dar uma olhada nele, pois acredito que vale a pena.
Abraços :)
Porém acredito que existem recursos melhores hoje em dia, como o Bcrypt por exemplo.
Aconselharia a dar uma olhada nele, pois acredito que vale a pena.
Abraços :)
GOSTEI 1
Fabio Rocha
04/05/2017
André,
De uma olhada também na documentação do PHP na função password_hash.
Nela você pode optar por tipos diferentes apenas mudando uma constante.
Grande abraço.
De uma olhada também na documentação do PHP na função password_hash.
Nela você pode optar por tipos diferentes apenas mudando uma constante.
Grande abraço.
GOSTEI 1