Question

Je recherche un algorithme simple de cryptage unidirectionnel non breveté, de préférence en c. J'aimerais l'utiliser pour valider les mots de passe.

Était-ce utile?

La solution

SHA-1 et le reste de sa famille ont été brevetés par le gouvernement américain. qui "a publié le brevet sous une licence libre de droits". De nombreuses implémentations de domaine public sont disponibles via Google . : -)

Autres conseils

Le nom correct pour "algorithme de cryptage unidirectionnel" est "algorithme de hachage" (vous vouliez dire un moyen de "brouiller" un mot de passe pour qu'il ne puisse jamais être récupéré, non?)

N'utilisez pas md5 dans les applications modernes, des attaques efficaces ont été lancées depuis 2004 (voir http : //www.doxpara.com/md5_someday.pdf pour les références). Utilisez la famille SHA.

En fait, utiliser un hachage n’est pas suffisant. vous devez utiliser un sel pour les limiter et une technique plus avancée telle que bcrypt limite les possibilités de deviner le mot de passe

utilisez simplement la fonction crypt (3)

voici le arrière-plan

SHA-1 semble être une bonne suggestion ou, si vous pensez que SHA-1 est sur le point d'être fissuré, un membre de la famille SHA-2.

Vous pouvez avoir l’impression que MD5 n’est pas "sûr". assez.

Le hash MD5 me convient jusqu’à présent.

MD5 et SHA512 (ou une autre variante de SHA-2) comportent tous deux des vulnérabilités théoriques. Je ne pense pas que SHA ait encore été démontré comme cassé mais la possibilité existe. Whirlpool est un algorithme de hachage sans redevance qui n’a pas (encore) montré de faiblesse. Cette page contient un lien vers l'implémentation de référence C.

Pourquoi MD5 ou SHA1 ne fonctionne-t-il pas pour vous?

/ Allan

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top