Mots de passe sécurisés ?

C'est une question que je me suis toujours posé, et hier alors que j'avais un peu de temps, je me suis amusé:
Tout les systèmes web de mot de passe cryptés sont basé sur un système appelé md5. C'est directement le mot de passe crypté qui est mis dans la base de donnée:
par exemple le mdp :"zzzzzz" est codé comme 453e41d218e071ccfb2d1c99ce23906a
(pour les habitués c'est de l'hexa décimal)
Il y a 3E38 possibilité de codage différent. Ce qui donne l'impossibilité de tous les testé. Par contre tout webmestre connait les mdp cryptés de toutes les personnes sur son site web (je pourrai donner son mdp crypté à chacun d'entre vous.
Par contre rien n'empêche de tester tous les mots l'un a la suite des autres.
Un test de tout les mots de 6 lettres (~300 millions de possibilité) est par exemple possible et vu que le codage en md5 est assez rapide il est possible de décoder...
Un programme tout bête, dans un langage même pas réputé pour sa rapidité (python) met par exemple au maximum 9 heures pour décoder un mot de passe de 1 à 6 lettres.
Et ceci n'est qu'un bête test pour voir, nul doute que les vrais programmes vont beaucoup plus vite en
1) testons tout les prénoms et toute les dates de naissance (des mots de passe très courants)
2) en utilisant un dictionnaire
Bon ceci-dit avec mon programme il faut jusque 2 semaines pour décoder un mot de passe de 8 caractère contenant des minuscules et des majuscules. Et sans doute encore plus si on rajoute des ponctuations.
En conclusion, je conseille
1) d'avoir un mot de passe différent pour chaque site web
A) car certain site web garde les mdp non cryptés -ils sont quand même envoyés en clair-
B) car on sait aussi les décoder
2)Que tout vos mots de passe contienne toujours une minuscule-une majuscule-une ponctuation-un chiffre
Pour que ce genre de programme facile ne marche pas
Tout les systèmes web de mot de passe cryptés sont basé sur un système appelé md5. C'est directement le mot de passe crypté qui est mis dans la base de donnée:
par exemple le mdp :"zzzzzz" est codé comme 453e41d218e071ccfb2d1c99ce23906a
(pour les habitués c'est de l'hexa décimal)
Il y a 3E38 possibilité de codage différent. Ce qui donne l'impossibilité de tous les testé. Par contre tout webmestre connait les mdp cryptés de toutes les personnes sur son site web (je pourrai donner son mdp crypté à chacun d'entre vous.
Par contre rien n'empêche de tester tous les mots l'un a la suite des autres.
Un test de tout les mots de 6 lettres (~300 millions de possibilité) est par exemple possible et vu que le codage en md5 est assez rapide il est possible de décoder...
Un programme tout bête, dans un langage même pas réputé pour sa rapidité (python) met par exemple au maximum 9 heures pour décoder un mot de passe de 1 à 6 lettres.
Et ceci n'est qu'un bête test pour voir, nul doute que les vrais programmes vont beaucoup plus vite en
1) testons tout les prénoms et toute les dates de naissance (des mots de passe très courants)
2) en utilisant un dictionnaire
Bon ceci-dit avec mon programme il faut jusque 2 semaines pour décoder un mot de passe de 8 caractère contenant des minuscules et des majuscules. Et sans doute encore plus si on rajoute des ponctuations.
En conclusion, je conseille
1) d'avoir un mot de passe différent pour chaque site web
A) car certain site web garde les mdp non cryptés -ils sont quand même envoyés en clair-
B) car on sait aussi les décoder
2)Que tout vos mots de passe contienne toujours une minuscule-une majuscule-une ponctuation-un chiffre
Pour que ce genre de programme facile ne marche pas