algoritmo de criptografia unidirecional não patenteado [fechado]
-
09-06-2019 - |
Pergunta
Estou procurando um algoritmo de criptografia unidirecional simples e não patenteado, de preferência em c.Eu gostaria de usá-lo para validar senhas.
Solução
SHA-1 e o resto de sua família foram patenteados pelo governo dos EUA, que "liberou a patente sob uma licença livre de royalties".Muitas implementações de domínio público pode ser encontrado através do Google. :-)
Outras dicas
O nome correto para 'algoritmo de criptografia unidirecional' é 'algoritmo de hash' (você quis dizer uma maneira de 'embaralhar' uma senha para que ela nunca possa ser recuperada, certo?)
Não use md5 em aplicações modernas, ataques bem-sucedidos a ele têm aparecido desde 2004 (veja http://www.doxpara.com/md5_someday.pdf para referências).Use a família SHA.
basta usar a função crypt(3)
Aqui está o fundo
SHA-1 parece ser uma boa sugestão ou, se você acredita que o SHA-1 está perto de ser quebrado, um da família SHA-2.
Você pode achar que o MD5 não é “seguro” o suficiente.
MD5 me serviu bem até agora.
MD5 e SHA512 (ou outra variante SHA-2) possuem vulnerabilidades teóricas identificadas neles.Não acho que o SHA ainda tenha sido demonstrado como quebrado, mas a possibilidade existe.Whirlpool é um algoritmo hash isento de royalties que (ainda) não mostrou nenhuma fraqueza.Esta página tem um link para a implementação de referência C.
Por que MD5 ou SHA1 não funcionam para você?
/Allan