[Php] Correctement hacher un mot de passe
|
17-06-2011, 04h18
(Modification du message : 19-11-2012, 19h01 par InstinctHack.)
Message : #1
|
|
CyberSee
Admin fondateur de N-PN Messages : 1,721 Sujets : 287 Points: 157 Inscription : Jan 2012 |
[Php] Correctement hacher un mot de passe
A chaque fois l'on créé un programme qui stock des données sensible comme un mot de passe il est primordial de bien protéger l'information. En PHP il existe une fonction qui ce nomme md5 (Message Digest 5) qui consiste a encrypter à partir d'un fichier numérique, son empreinte numérique (en l'occurrence une séquence de 128 bits ou 32 caractères en notation hexadécimale) avec une probabilité très forte que deux fichiers différents donnent deux empreintes différentes. Sa été pendant plusieurs années la façon la plus sur d'encrypter les mots de passe à condition qu'il ait 6 caractères et plus. Depuis 4 ans maintenant sur le web, il ya de plus en plus de librairies MD5 qui sont en traine de décrypter toutes les possibilités de caractère avec leur équivalant ce qui permet a des hacker de trouver en 2 secondes ce qui prendrait 1 an a décrypter par brute force.
Ex: http://decrypt.fr/ qui dit en avoir décrypté 250 000 000 Il est donc primordial pour tout bon codeur de metre sur pied un système qui permet de bien encoder les mot de pass. Certain programmeur utilise la technique du double MD5 ... perso, j’ai la crainte que si il on fait une librairie pour les md5 simples, ya de bonne chance qu'il le face pour les doubles et voir même les triples encodages puisque c'est une technique très répandue. La meilleure façon de bien encrypter les mots de passe c'est de faire une manipulation unique et secrète avec le mot de passe avant l'encryptage MD5 que l'ont nomme "Clé d'encription" Ex: Code PHP : $cle = "7tg%4r8*97hhfr#121)2"; // 20 caractères ou + Cette clé peut être fabriqué de façon complètement random et enregistrer dans une table l'hors de l'installation de l'application que vous créé ou simplement rentrer à la dure dans votre fichier config. La technique consiste a joindre les deux ensemble avant l'encryptage Ex: Code PHP : $password = md5(md5($cle.$_POST['password'].$cle)); Vos mots de passe sont à présent complètement sécurisé, car la chaine encryptée a minimum 48 caractères et doublement encodés =) Si on voulait pousser l'expérience a un extrême on pourrait faire quelque chose du genre de Code PHP : $cle = "7tg%4r8*97hhfr#121)2"; // 20 caractères ou + Veillez cité la source et l'auteur si vous désirer reprendre mon tuto. Soyez intelligent et restez WhiteHat! Par CyberSee |
|
« Sujet précédent | Sujet suivant »
|
Messages dans ce sujet |
[Php] Correctement hacher un mot de passe - par CyberSee - 17-06-2011, 04h18
RE: Correctement encoder un mot de passe - par InstinctHack - 29-02-2012, 23h23
|
Utilisateur(s) parcourant ce sujet : 1 visiteur(s)