IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Aide: programme élaboration d'un mots de passe : Python 3


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut Aide: programme élaboration d'un mots de passe : Python 3
    Bonjour,

    Je debute sur python et j'essaye de réaliser un programme permettant l'élaboration et la mesure de sécurité d'un mot de passe.

    Le cahier des charges étant le suivant (pour que le mot de passe soit accepté):

    - Les 2 entrées de mots de passe devront être identiques (au début du programme pour vérification, semblable à l’inscription sur un site)

    -Le mot de passe devra avoir une longueur comprise entre 5 et 8 caractères inclus

    - Le mot de passe devra contenir au moins deux chiffres mais pas plus de 4

    Le programme demandera à l'utilisateur de saisir deux fois le mot de passe jusqu’à ce que les deux entrées soient identiques et que les conditions ci dessus soit vérifier

    L'état actuel de mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    #mot de passe
     
     
    n=['0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z']
    #déclaration des variables dans une liste                                                     
    num=0                                                                             
    mdp=str(input("Saisisez un mot de passe:"))                         
    mdp2=str(input("Re saisisez le mot de passe pour verification:"))
    if mdp!=mdp2:
        print("Les mots de passe ne correpondent pas, reesayer:");#vérifiacation de la similarité des mots de passes
    else:
        print("Les mots de passe correspondent bien:")
    if len(mdp)>8:
             print("Le nombre de caracteres saisie est trop important, reformulez votre mot de passe")
    elif len(mdp)<5:
             print("Le nombre de caracteres saisie est insufisant, reformulez votre mot de passe:")   #vérification du nombre de caractère
    else:
        print("Les mots de passe comportent le bon nombres de caractères")
    Je vous prie de m'aider ce programme devant être finalisé ce soir ..

    Merci d'avance pour votre aide !

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Si vous ne donnez pas d'indications sur ce qui vous bloque pas facile de vous aider.
    note: on peut bien sûr écrire le code à votre place mais çà ne présente aucun intérêt.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Merci d'abord pour votre réponse,

    Bien, j'arrive à vérifier la similitude des mots de passe
    Mais c'est après que ça bloque
    A savoir au moment ou je saisie un nouveau mot de passe pour vérifier la seconde contraintes (qui est la longueur du mot de passe)
    "SyntaxError: invalid token"

    Merci d'avance

  4. #4
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Postez la trace de ce que vous tapez et l'erreur qui est remontée: je ne rencontre pas ce problème avec le code que vous avez posté.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    voici:

    IDLE 3.0
    >>>

    Saisissez un mot de passe:0505
    Re saisissez le mot de passe pour verification:0505
    Les mots de passe correspondent bien:
    Le nombre de caractere saisie n'est pas correctes
    >>> 050596
    SyntaxError: invalid token (<pyshell#0>, line 1)
    >>>

  6. #6
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    C'est normal: le programme s'est exécuté une fois et a échoué: il faut le relancer pour recommencer une nouvelle fois.
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

  7. #7
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Réfléchissez à ce qui se passe!
    Lorsque IDLE affiche ">>>" c'est qu'il n'a plus de code à exécuter et qu'il attend une instruction.
    Ca accepte des nombres comme 123 mais ca va interpréter les trucs qui commencent par 0. 0555 plante mais 0x555 sera accepté et interprété comme nombre en base 16.
    Si vous voulez recommencez la saisie, il faut mettre votre code à l'intérieur d'une boucle while

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre régulier
    Avatar de mohamedAziz
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2014
    Messages : 42
    Points : 84
    Points
    84
    Billets dans le blog
    2
    Par défaut
    Salut l'ami je suis en train d'ecrire le script

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    C'est bien ça le problème je n'arrive pas à répéter une boucle et à passer à une suivante

    Merci bien ça pourrait m'aider

  10. #10
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    La structure n'est pourtant pas compliquée...
    Jouez avec çà:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    >>> def verifier(m1, m2):
    ...     return m1 == m2
    ...
    >>> ok = False
    >>> while not ok:
    ...      m1 = input('m1: ')
    ..       m2 = input('m2: ')
    ...      ok = verifier(m1, m2)
    ...
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    J'entends bien, seulement cette structure je ne l'ai pas vue en cours je suis sensé connaitre ce que j'écris et savoir l'expliquer

  12. #12
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    J'ignore ce que vous avez appris (ou pas) en cours ni le sous ensemble de Python que vous pouvez utiliser.
    A vous de rechercher dans vos notes comment répéter une séquence d'instructions.

    Ceci dit expliquer ce que fait un while est quand même assez trivial.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  13. #13
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    J'aimerais savoir à quel endroit mettre while dans mon programme pour pouvoir vérifier le mot de passe et répéter la boucle en cas d'échec ...

  14. #14
    Membre régulier
    Avatar de mohamedAziz
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2014
    Messages : 42
    Points : 84
    Points
    84
    Billets dans le blog
    2
    Par défaut
    Voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    #!/usr/bin/python3
     
    def entrezPass():
    	#*Bon ici l’utilisateur entre le mot de passe
    	#*On entre dans boucle infinie jusqu a l'utilisateur entre deux mot de passe identique
    	while True:
    		mdp=str(input("Saisissez un mot de passe:"))                         
    		mdp2=str(input("Ressaisissez le mot de passe pour vérification : "))
    		if mdp == mdp2:
    			return mdp
    		else:
    			print("Les mot de passe ne sont pas identique")
     
    def checkPass(mdp):
    	l1 = []
    	#*Si le long du mot de passe est compris dans l'intervalle [5..8]
    	if 5 <= len(mdp) <= 8:
    		for ch in mdp:
    			if ch.isnumeric():
    				l1.append(ch)
    		if 2 <= len(l1) <= 4:
    			print("Très bon mot de passe même la plus puissant PC au monde peut le cracker")
     
    		else:
    			print("Il faut que votre mot de passe a un nombre de caractères compris entre 2 et 4")
    			main()
     
    	else:
    		print("Il faut que votre mot de passe a une longueur comprise entre 5 et 8 caractères")
    		main()
     
     
    def main():
    	mdp = entrezPass()
    	checkPass(mdp)
     
    if __name__ == '__main__':
    	main()

  15. #15
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Citation Envoyé par TeckiTo Voir le message
    J'aimerais savoir à quel endroit mettre while dans mon programme pour pouvoir vérifier le mot de passe et répéter la boucle en cas d'échec ...
    Essayez de comprendre ce que fait le code que je vous ai donné.
    Regardez ou est le while par rapport aux saisies des mots de passe.
    Adaptez votre code...

    Le but de ce genre d'exercice est de vous faire passer du temps à essayer des trucs à la console pour apprivoiser l'engin.
    Trouver une solution est bien sûr gratifiant mais l'important est tout ce que vous allez apprendre en la cherchant.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    J'essaye justement d'adapter mon code .. mais c'est éprouvant j'ai déjà apprit tellement de chose et lit tellement d'autre .. Mais j'avoue que c'est usant
    Mon code évolue peu à peu

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Merci bien pour ton code Mohamed ! je vais tenter de m'en inspirer bien que je ne comprenne pas tout dessus

  18. #18
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    A quoi sert le def vérifier ?

  19. #19
    Membre régulier
    Avatar de mohamedAziz
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2014
    Messages : 42
    Points : 84
    Points
    84
    Billets dans le blog
    2
    Par défaut
    hum c'est pour déclarer les fonctions .. est-ce que vous avez étudier les fonctions ?
    au moins vous vous étudiez le langage python nous en tunisie on étudie le langage Pascal héhéhé

  20. #20
    Futur Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2014
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 27
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2014
    Messages : 19
    Points : 5
    Points
    5
    Par défaut
    Pour l'instant je n'ai pas encore vue les fonctions non :/

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/09/2014, 08h58
  2. Réponses: 2
    Dernier message: 10/02/2011, 21h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo