Problème de dénombrement ....

Réponses à toutes vos questions après le Bac (Fac, Prépa, etc.)
seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

Problème de dénombrement ....

par seb69 » 09 Aoû 2007, 12:40

Bonjour à tous,
Dans le cadre d'un développement informatique, je dois créer un programme dont le but est de lister toutes les combinaisons possibles pour un mot de passe contenant de 1 à 20 caractères, le but du programme étant de vérifier la solidité de notre système de protection de licence logiciel.
Je m'explique, par exemple, si l'on considère la table des caractères ASCII qui contient 128 caractères (de 0 à 127), je voudrais pouvoir lister toutes les combinaisons possibles pour :

- les mots de passes de 1 à 20 caractères, sous la forme :
+ Les combinaisons pour un mot de passe de 1 caractère
+ Les combinaisons pour un mot de passe de 2 caractères
et ainsi de suite ....
sachant que le même caractère peut être réutilisé dans la combinaison.

Par avance, merci de votre aide .

Sébastien.



BQss
Membre Irrationnel
Messages: 1202
Enregistré le: 02 Nov 2006, 03:32

par BQss » 09 Aoû 2007, 12:45

Salut,

si j'ai bien compris tu voudrais obtenir une formule te permettant d'otenir le nombre de combinaison d'un mot de passe de n lettres en connaissant/sommant les nombres de combinaisons pour des mots de passe de 1 à n-1 lettres?

Sinon c'est juste

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 12:46

seb69 a écrit:Bonjour à tous,
Dans le cadre d'un développement informatique, je dois créer un programme dont le but est de lister toutes les combinaisons possibles pour un mot de passe contenant de 1 à 20 caractères, le but du programme étant de vérifier la solidité de notre système de protection de licence logiciel.
Je m'explique, par exemple, si l'on considère la table des caractères ASCII qui contient 128 caractères (de 0 à 127), je voudrais pouvoir lister toutes les combinaisons possibles pour :

- les mots de passes de 1 à 20 caractères, sous la forme :
+ Les combinaisons pour un mot de passe de 1 caractère
+ Les combinaisons pour un mot de passe de 2 caractères
et ainsi de suite ....
sachant que le même caractère peut être réutilisé dans la combinaison.

Par avance, merci de votre aide .

Sébastien.

J'espere que tu as un ordinateur solide; en effet, il y aura possibilités au total... :briques:

Si oui, ce que tu peux faire, est cet algorithme. Je l'utiliserai surtout en PHP, car je sais que dans ce language, on peut changer la taille des tableaux.
- Créer un array de 20 éléments; associer le premier caractere de la liste aux 20 éléments
- Changer le 20e élément pour toutes les lettres; arrivée a la derniere, changer le caractere du 19e élément, etc...

C'est de cette facon qu'on peut essayer le plus rapidement possible toutes les combinaisons ;)

BQss
Membre Irrationnel
Messages: 1202
Enregistré le: 02 Nov 2006, 03:32

par BQss » 09 Aoû 2007, 12:49

Ah les gens ont le choix du nombre de lettres alors, ba c'est ce qu'anima a ecrit:
avec 128 oui:


PS: je demande juste ca sans aucun cynisme?
Vous savez pas calculer les denombrement élementaire en sécurité logiciel?
Je vais plus faire confiance aux achats en ligne moi :ptdr:

:king:

seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

par seb69 » 09 Aoû 2007, 12:54

Merci à tous les 2 d'intervenir aussi vite sur le sujet ....
Pour ce qui est de l'ordi, pas de problèmes, la machine est extrèment puissante (Octo processeur & 12 Go RAM ...).

Ce que je recherche, c'est une formule, qu'informaticien, je nommerai plus volontiers algorithme, qui me permette :

si l'on admet avoir 127 caractères utilisables pour composer un mot de passe, dont la taille est : au minimum de 1 caractères, et au maximum de 20 caractères, et que le même caractère peut être utilisé plusieurs fois dans la composition du mot de passe ( par un exemple : mot de passe pourrait très bien être AAAAAAA), je veux pouvoir lister tous les mots de passes possibles.

Bien à vous.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 12:56

BQss a écrit:PS: je demande juste ca sans aucun cynisme?
Vous savez pas calculer les denombrement élementaire en sécurité logiciel?
Je vais plus faire confiance aux achats en ligne moi :ptdr:

:king:

J'admets, tu m'otes les mots de la bouche. Enfin, c'est peut-etre pour cela que le protocole wifi 802.11 a été accepté malgré sa faille évidente de sécurité...

Au fait, il voulait lister, je suppose qu'il veut donc un programme qui lui sort toutes les possibilités...

seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

par seb69 » 09 Aoû 2007, 12:57

BQss a écrit:Ah les gens ont le choix du nombre de lettres alors, ba c'est ce qu'anima a ecrit:
avec 128 oui:


PS: je demande juste ca sans aucun cynisme?
Vous savez pas calculer les denombrement élementaire en sécurité logiciel?
Je vais plus faire confiance aux achats en ligne moi :ptdr:

:king:


Si, on sait calculer ... on est pas des ânes !!!! personnellement, je ne suis pas mathématicien, et moi, je neveux pas calculer, mais lister ....

lapras
Membre Transcendant
Messages: 3664
Enregistré le: 01 Jan 2007, 12:00

par lapras » 09 Aoû 2007, 12:58

Ca me rappelle un bon vieux programme de brute force que j'ai fait il y a un an.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 13:01

seb69 a écrit:Merci à tous les 2 d'intervenir aussi vite sur le sujet ....
Pour ce qui est de l'ordi, pas de problèmes, la machine est extrèment puissante (Octo processeur & 12 Go RAM ...).

Ce que je recherche, c'est une formule, qu'informaticien, je nommerai plus volontiers algorithme, qui me permette :

si l'on admet avoir 127 caractères utilisables pour composer un mot de passe, dont la taille est : au minimum de 1 caractères, et au maximum de 20 caractères, et que le même caractère peut être utilisé plusieurs fois dans la composition du mot de passe ( par un exemple : mot de passe pourrait très bien être AAAAAAA), je veux pouvoir lister tous les mots de passes possibles.

Bien à vous.

Dans ce cas, on revient a la méthode du cadenas, qui est la méthode la plus rapide pour lister toutes les possibilités. Tu devras l'utiliser 19 fois au total.
Elle est facile a programmer, il suffit de savoir coder 19 boucles statiques d'affilée ou de savoir raffiner et faire une boucle dynamique :ptdr:

seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

par seb69 » 09 Aoû 2007, 13:03

lapras a écrit:Ca me rappelle un bon vieux programme de brute force que j'ai fait il y a un an.



J'aime beaucoup ta maxime, mais à quoi fais-tu référence ??? mon domaine, c'est l'informatique de gestion, le reste, j'y connais rien.

Pouick
Membre Relatif
Messages: 106
Enregistré le: 05 Mar 2007, 17:48

par Pouick » 09 Aoû 2007, 13:03

Bouarf. de l'info ^^
Je sais pas avec un arbre c pas possible?

lapras
Membre Transcendant
Messages: 3664
Enregistré le: 01 Jan 2007, 12:00

par lapras » 09 Aoû 2007, 13:05

En fait il faut faire une fonction récursive.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 13:05

Pouick a écrit:Bouarf. de l'info ^^
Je sais pas avec un arbre c pas possible?

C'est faisable en logique humaine... car bon, apprendre a un ordinateur a casser un cadenas a chiffres, c'est bien beau, mais l'ordinateur bete ne pensera pas a tout tout seul :we:

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 13:05

lapras a écrit:En fait il faut faire une fonction récursive.

Une seule? J'en vois 19 moi.

seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

par seb69 » 09 Aoû 2007, 13:06

anima a écrit:Dans ce cas, on revient a la méthode du cadenas, qui est la méthode la plus rapide pour lister toutes les possibilités. Tu devras l'utiliser 19 fois au total.
Elle est facile a programmer, il suffit de savoir coder 19 boucles statiques d'affilée ou de savoir raffiner et faire une boucle dynamique :ptdr:


Les boucles, je connais, ça ne devrait pas être un problème .... par contre, si tu pouvais développer le contenu des boucles, quels traitement effectuer sur les élément de mon tableau de caractères, j'y verrai un peu plus clair.

merci.

lapras
Membre Transcendant
Messages: 3664
Enregistré le: 01 Jan 2007, 12:00

par lapras » 09 Aoû 2007, 13:07

Anima > c'est pour ca qu'on commence à développer les réseaux de neuronnes xd
je parlais du brute force, pour lister toutes les possibilités de pass à n chiffre avec x caracteres possibles, j'utilisait une fonction qui s'appelait elle meme dans une boucle, ca faisait une fonction récursive.

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 13:18

seb69 a écrit:Les boucles, je connais, ça ne devrait pas être un problème .... par contre, si tu pouvais développer le contenu des boucles, quels traitement effectuer sur les élément de mon tableau de caractères, j'y verrai un peu plus clair.

merci.

En quel language comptes-tu le programmer, ce truc? Car perso, j'atteinds la limite avec PHP, et j'ai du mal a le faire en VB :ptdr:

En théorie, ca marche. En pratique, j'ai un memory overflow a cause du nombre de possibilités ;)
Et ca, c'est 20 caracteres stricts.

seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

par seb69 » 09 Aoû 2007, 13:21

anima a écrit:En quel language comptes-tu le programmer, ce truc? Car perso, j'atteinds la limite avec PHP, et j'ai du mal a le faire en VB :ptdr:

En théorie, ca marche. En pratique, j'ai un memory overflow a cause du nombre de possibilités ;)
Et ca, c'est 20 caracteres stricts.


Développement en c#, mais vu le nombre de combinaisons possibles, je pense utiliser un buffer dont la taille sera paramètrable, et lister par exemple de 100 en 100 combinaisons ....

anima
Membre Transcendant
Messages: 3762
Enregistré le: 15 Sep 2006, 11:00

par anima » 09 Aoû 2007, 13:23

seb69 a écrit:Développement en c#, mais vu le nombre de combinaisons possibles, je pense utiliser un buffer dont la taille sera paramètrable, et lister par exemple de 100 en 100 combinaisons ....

Tres bonne idée, le buffer. Mais bon, c'est faisable...
Si j'étais toi par contre, je retournerai au C. Plus de possibilités et de rapidité :mur:

seb69
Messages: 8
Enregistré le: 09 Aoû 2007, 12:30

par seb69 » 09 Aoû 2007, 13:32

anima a écrit:Tres bonne idée, le buffer. Mais bon, c'est faisable...
Si j'étais toi par contre, je retournerai au C. Plus de possibilités et de rapidité :mur:


Le C serait effectivement une bonne chose, ma boite ne l'utilises pas, et ne veut pas en entendre parler .... faut faire avec les contraintes ....

Par contre si tu pouvais, ou les autres lecteur de ce post, m'éclairer plus sur le traitement, je suis preneur ...

 

Retourner vers ✯✎ Supérieur

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 20 invités

Tu pars déja ?



Fais toi aider gratuitement sur Maths-forum !

Créé un compte en 1 minute et pose ta question dans le forum ;-)
Inscription gratuite

Identification

Pas encore inscrit ?

Ou identifiez-vous :

Inscription gratuite