Travaux Pratiques 9 : Trouver un mot de passe automatiquement

Transcription

Travaux Pratiques 9 : Trouver un mot de passe automatiquement
Lycée Madeleine Michelis - ECE1
Mathématiques - 2016/2017
Travaux Pratiques 9 : Trouver un mot de passe
automatiquement
Dans ce TP, nous nous intéressons aux méthodes permettant de trouver un mot de passe automatiquement à l'aide de structures de programmations usuelles.
1
Situation 1 : le mot de passe est un entier naturel
On considère un compte quelconque dont nous savons que le mot de passe est un entier naturel.
Pour se connecter à ce compte on appelle la fonction login1 dont le code, donnée ci-dessous, est
à taper dans l'éditeur et à compiler.
Code
1
2
3
4
5
6
7
8
9
10
global password ;
password = 5 5 6 1 ;
function [ y ] = l o g i n 1 ( x )
i f ( x == password ) then
else
y = "Vous e t e s c o n n e c t e s " ;
y = " Echec " ;
end
endfunction
Que fait cette fonction ? Essayer les instructions suivantes dans la console :
Code
login1(4513)
login1(9899)
Les lecteurs attentifs auront compris que le mot de passe correct est 5561.
Imaginons que nous ne connaissons pas le contenu de la fonction login1. Comment faire pour que
Scilab retrouve automatiquement le mot de passe correct et l'ache ?
1
Lycée Madeleine Michelis - ECE1
Mathématiques - 2016/2017
Exercice 1
Créer un programme qui permette d'acher automatiquement le mot de passe du compte
associé à login1.
2
Situation 2 : la longueur du mot de passe est connue
Dans cette section, le mot de passe n'est plus nécessairement un entier naturel mais nous supposons
qu'il s'agit d'un string de 4 caractères, choisis parmi les chires 0, 1 . . . 9 et les lettres minuscules
a, b, . . . , z .
Comme dans la section 1, nous considérons une fonction login2 qui permet de se connecter au
compte.
Code
1
2
3
4
5
6
7
8
9
10
global password ;
password = " f 5 q 7 " ;
function [ y ] = l o g i n 2 ( x )
i f x == password then
else
y = "Vous e t e s c o n n e c t e s " ;
y = " Echec de c o n n e x i o n " ;
end
endfunction
Tester la fonction login2 sur quelques exemples. Puis :
Exercice 2
Créer un programme qui permette d'acher automatiquement le mot de passe du compte
associé à login2.
3
Situation 3 : la longueur du mot de passe est inconnue.
Cette fois, la longueur du mot de passe est inconnue.
Comme précédent, on introduit la fonction login3.
Code
2
Lycée Madeleine Michelis - ECE1
1
2
3
4
5
6
7
8
9
10
Mathématiques - 2016/2017
global password ;
password = " e7x " ;
function [ y ] = l o g i n 3 ( x )
i f x == password then
else
y = "Vous e t e s c o n n e c t e s " ;
y = " Echec de c o n n e x i o n " ;
end
endfunction
Tester la fonction login3 sur quelques exemples. Puis :
Exercice 3
Créer un programme qui permette d'acher automatiquement le mot de passe du compte
associé à login3.
Fin
3