begin process at 2012 05 24 00:30:17
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Sécurité & cryptage

 > GÉNÉRATEUR DE MOT DE PASSE PYTHON / WXPYTHON

GÉNÉRATEUR DE MOT DE PASSE PYTHON / WXPYTHON


 Description

Cliquez pour voir la capture en taille normale
Un générateur de mot de passe écrit en Python / wxPython, sans aucune prétention ! Je débute dans wxPython, cette appli fait plutot office d'essais :-)

Source

  • #!/usr/bin/env python
  • #-*- coding: ISO-8859-1 -*-
  • import wx
  • import os
  • import sys
  • class myApp(wx.Frame):
  • #__init__:begin
  • def __init__(self, parent, id, title):
  • wx.Frame.__init__(self, parent, id, title, style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX)
  • icon = wx.Icon(name=os.path.join(sys.path[0],"icon_secure.ico"), type=wx.BITMAP_TYPE_ICO)
  • self.SetIcon(icon)
  • panel = wx.Panel(self, -1) # voir style=wx.SIMPLE_BORDER ou autre
  • ## START content
  • MainSizer = wx.BoxSizer(wx.VERTICAL)
  • TopBox = wx.BoxSizer(wx.HORIZONTAL)
  • InTopBoxRight = wx.BoxSizer(wx.VERTICAL)
  • hbox0 = wx.GridBagSizer(5,5)
  • hbox1 = wx.BoxSizer(wx.HORIZONTAL)
  • hbox2 = wx.BoxSizer(wx.HORIZONTAL)
  • Logo = os.path.join(sys.path[0],'icon-main.gif')
  • img = wx.Image(Logo, wx.BITMAP_TYPE_ANY)
  • sb = wx.StaticBitmap(panel, -1, wx.BitmapFromImage(img))
  • TopBox.Add(sb, 0)
  • ST_PwLenght = wx.StaticText(panel, -1, "Key lenght")
  • self.SC_PwLenght = wx.SpinCtrl(panel, -1, "", size=(60,-1))
  • self.SC_PwLenght.SetRange(2,62)
  • self.SC_PwLenght.SetValue(8)
  • self.CB_Alphanum = wx.CheckBox(panel, -1, "Alphanumeric")
  • self.CB_SpecChars = wx.CheckBox(panel, -1, "Special chars")
  • self.TC_Result = wx.TextCtrl(panel, -1, "", size=(225, -1), style=wx.TE_READONLY)
  • BTN_Generate = wx.Button(panel, -1, "Generate")
  • BTN_Generate.Bind(wx.EVT_BUTTON, self.onGenerate)
  • ST_Copyright = wx.StaticText(panel, -1, "Copyleft © SViollat 2011")
  • self.CB_Alphanum.SetValue(True)
  • hbox0.Add(ST_PwLenght, (0,0), (1,1), wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP, 5)
  • hbox0.Add(self.SC_PwLenght, (0,1), (1,1), wx.RIGHT | wx.TOP, 5)
  • hbox0.Add(self.CB_Alphanum, (0,2), (1,1), wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP, 5)
  • hbox0.Add(self.CB_SpecChars, (0,3), (1,1), wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP, 5)
  • hbox1.Add(self.TC_Result, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP, 5)
  • hbox1.Add(BTN_Generate, 0, wx.RIGHT | wx.TOP, 5)
  • hbox2.Add(ST_Copyright, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM, 5)
  • InTopBoxRight.Add(hbox0, 0)
  • InTopBoxRight.Add(hbox1, 0)
  • InTopBoxRight.Add(hbox2, 0)
  • TopBox.Add(InTopBoxRight, 0)
  • MainSizer.Add(TopBox, 0)
  • ## END content
  • panel.SetSizer(MainSizer)
  • self.Centre()
  • self.Show(True)
  • MainSizer.Fit(self)
  • def onGenerate(self, event):
  • import random
  • AlphaNum = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
  • All = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890&#{}()|-_^@=$%<>!:;.,?"
  • if not self.CB_Alphanum.IsChecked() and not self.CB_SpecChars.IsChecked():
  • self.GenerateWarning("PWGen error","Error.\nYou must choose either Alphanumeric and/or Special chars !")
  • self.CB_Alphanum.SetValue(True)
  • else:
  • if self.CB_Alphanum.IsChecked():
  • choice = AlphaNum
  • if self.CB_SpecChars.IsChecked():
  • choice = All
  • Lenght = self.SC_PwLenght.GetValue()
  • GeneratedPW = ''.join(random.sample(choice, int(Lenght)))
  • self.TC_Result.SetValue(GeneratedPW)
  • def GenerateWarning(self, titre, content):
  • dialog = wx.MessageDialog(None, content, titre, wx.OK | wx.ICON_EXCLAMATION)
  • dialog.ShowModal()
  • dialog.Destroy()
  • app = wx.App()
  • myApp(None, -1, 'PWGen')
  • app.MainLoop()
#!/usr/bin/env python
#-*- coding: ISO-8859-1 -*-

import wx
import os
import sys

class myApp(wx.Frame):
    #__init__:begin
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title, style=wx.DEFAULT_FRAME_STYLE ^ wx.RESIZE_BORDER ^ wx.MAXIMIZE_BOX)

        icon = wx.Icon(name=os.path.join(sys.path[0],"icon_secure.ico"), type=wx.BITMAP_TYPE_ICO)
        self.SetIcon(icon)

        panel = wx.Panel(self, -1) # voir style=wx.SIMPLE_BORDER ou autre

        ## START content

        MainSizer = wx.BoxSizer(wx.VERTICAL)
        TopBox = wx.BoxSizer(wx.HORIZONTAL)
        InTopBoxRight = wx.BoxSizer(wx.VERTICAL)
        hbox0 = wx.GridBagSizer(5,5)
        hbox1 = wx.BoxSizer(wx.HORIZONTAL)
        hbox2 = wx.BoxSizer(wx.HORIZONTAL)

        Logo = os.path.join(sys.path[0],'icon-main.gif')
        img = wx.Image(Logo, wx.BITMAP_TYPE_ANY)
        sb = wx.StaticBitmap(panel, -1, wx.BitmapFromImage(img))

        TopBox.Add(sb, 0)

        ST_PwLenght = wx.StaticText(panel, -1, "Key lenght")
        self.SC_PwLenght = wx.SpinCtrl(panel, -1, "", size=(60,-1))
        self.SC_PwLenght.SetRange(2,62)
        self.SC_PwLenght.SetValue(8)
        self.CB_Alphanum = wx.CheckBox(panel, -1, "Alphanumeric")
        self.CB_SpecChars = wx.CheckBox(panel, -1, "Special chars")
        self.TC_Result = wx.TextCtrl(panel, -1, "", size=(225, -1), style=wx.TE_READONLY)
        BTN_Generate = wx.Button(panel, -1, "Generate")
        BTN_Generate.Bind(wx.EVT_BUTTON, self.onGenerate)
        ST_Copyright = wx.StaticText(panel, -1, "Copyleft © SViollat 2011")

        self.CB_Alphanum.SetValue(True)

        hbox0.Add(ST_PwLenght, (0,0), (1,1), wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP, 5)
        hbox0.Add(self.SC_PwLenght, (0,1), (1,1), wx.RIGHT | wx.TOP, 5)
        hbox0.Add(self.CB_Alphanum, (0,2), (1,1), wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP, 5)
        hbox0.Add(self.CB_SpecChars, (0,3), (1,1), wx.ALIGN_CENTER_VERTICAL | wx.RIGHT | wx.TOP, 5)
        hbox1.Add(self.TC_Result, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP, 5)
        hbox1.Add(BTN_Generate, 0, wx.RIGHT | wx.TOP, 5)
        hbox2.Add(ST_Copyright, 0, wx.ALIGN_CENTER_VERTICAL | wx.LEFT | wx.RIGHT | wx.TOP | wx.BOTTOM, 5)

        InTopBoxRight.Add(hbox0, 0)
        InTopBoxRight.Add(hbox1, 0)
        InTopBoxRight.Add(hbox2, 0)

        TopBox.Add(InTopBoxRight, 0)

        MainSizer.Add(TopBox, 0)

        ## END content

        panel.SetSizer(MainSizer)

        self.Centre()
        self.Show(True)
        MainSizer.Fit(self)

    def onGenerate(self, event):

        import random

        AlphaNum = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"
        All = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890&#{}()|-_^@=$%<>!:;.,?"

        if not self.CB_Alphanum.IsChecked() and not self.CB_SpecChars.IsChecked():
            self.GenerateWarning("PWGen error","Error.\nYou must choose either Alphanumeric and/or Special chars !")
            self.CB_Alphanum.SetValue(True)

        else:
            if self.CB_Alphanum.IsChecked():
                choice = AlphaNum

            if self.CB_SpecChars.IsChecked():
                choice = All

            Lenght = self.SC_PwLenght.GetValue()
            GeneratedPW = ''.join(random.sample(choice, int(Lenght)))
            self.TC_Result.SetValue(GeneratedPW)

    def GenerateWarning(self, titre, content):
        dialog = wx.MessageDialog(None, content, titre, wx.OK | wx.ICON_EXCLAMATION)
        dialog.ShowModal()
        dialog.Destroy()

app = wx.App()
myApp(None, -1, 'PWGen')
app.MainLoop()

 Conclusion

Une version CLI existe également, sujet d'un prochain post :-) Merci de vos retours !!

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Sources du même auteur

Source avec une capture GÉNÉRATEUR DE MOT DE PASSE PYTHON (CLI)

 Sources de la même categorie

Source avec une capture GÉNÉRATEUR DE MOT DE PASSE PYTHON (CLI) par svmars
CRYPTE ET DECRYPTE UN FICHIER (AVEC HASH POUR VÉRIFICATION) par saigneurdushi
Source avec Zip CRYPTEUR CARRE DE POLYBE par Dipx
Source avec une capture HORAIRESRESTREINTS par lonewolfs
Source avec Zip HIDS EN PYTHON par KimbleMandel

 Sources en rapport avec celle ci

Source avec Zip TPYCODE, TRADUCTEUR DE CODE par jonathan33350
Source avec une capture JEU DU SERPENT (SNAKE) par zarash
Source avec Zip Source avec une capture TRIANGULATION par mecrosoft
Source avec Zip Source avec une capture COURBE DE BEZIER par mecrosoft
Source avec une capture GÉNÉRATEUR DE MOT DE PASSE PYTHON (CLI) par svmars

Commentaires et avis

Commentaire de Guillamue06 le 04/08/2011 06:23:33

Toutes ses lignes pour pas grand choses, je suis pas prêt à me mettre a WXPython TT

Vivement que les GUIs se développe aussi facilement que sous .NET

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

tutoriaux python [ par slachz ] voilà un tuto FR tres remplie en python (il existe en bouquin mais est telechargeable gratuitement) :http://www.ulg.ac.be/cifen/inforef/swi/python.htm installation python [ par champagnef ] Bonjour,je suis nouveau sur python. J'apprends (en amateur intéressé) avec le cours de G. Swinnen et autres tuto.Je suis sur Mac Os X.3.5 et je pense Projet Python: Lecteur de flux RSS. [ par Marvin ] Amis codeurs, bien le bonjour (ou plutot bonsoir car il est 00:33 ( GTM + 1h ) ) ,J'ai en tête depuis déja quelques jours, de créer un lecteur de flux Paramétrage de python [ par deguelatore ] salut à tous. Je voulai vous demandez si on peut se débarrasser du mode interactif de python?? Vous savez les 3 flèches (&gt;&gt;&gt;).C'est juste pas Tk vs wx [ par bonac ] Bonjour,Je doit faire une assez grosse application en python, le problème est que je ne connaissait pas python (du moins de nom) le mois dernier. Cett wxPython et DDE [ par DoudouBidou ] Bonjour,j'utilise la liaison DDE pour dialoguer entre python et une application sous windows 2000j'ai trouvé (un peu par hasard) un module DDE pour gé Help : Python/DB/CGI [ par Chill_Sik ] Bonjour à tous, voila qqjours que je me casse les dents sur un petit problème alors je me décide a appeler "au secour" car on ne sait jamais que certa WebCam [ par DoudouBidou ] Après plusieurs recherche je n'ai pas trouvé de script python capable de diffusé une webcam sur un réseaudonc je lance le débat, est-il possible de ré dll avec python? [ par LokR ] Salut tout le monde!je me pose une kestion, je pense pas que ce soit possible mais d'un autre coté je pensais pas kon puisse faire d' *.exe avec pytho aide pour xchat svp [ par Jamu ] Salut a tous Je debute sur xchat et le python ben je connais pas,j'ai chercher des tuto sur google mais j'ai trouvé que des tuto de python en général


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 5,070 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales