Hallo Forum,
ich möchte gerne zufällige "pseudo-deutsche" Passwörter generieren, die sich gut buchstabieren und merken lassen, z.B. MEKALO, UNITOG, etc.
Kennt jemand ein Python Modul, das ich dafür nehmen könnte?
Gruss + Dank, BT
Passwort Generator
Ich kenn da keins, aber auf Anhieb sieht das für mich so aus, als ob man dazu nur zufällig Silben aneinanderhängen müsste, was mit den tools in random recht einfach wäre.beetronic hat geschrieben:Kennt jemand ein Python Modul, das ich dafür nehmen könnte?
Ich kann da ebenfalls was als Inspiration anbieten: http://homework.nwsnet.de/releases/b9d3 ... -generator (neue URL)
Zuletzt geändert von Y0Gi am Sonntag 10. Februar 2013, 00:32, insgesamt 3-mal geändert.
Danke. Die Routine zum Erzeugen des Passwortes ist schön klein und den ganzen GUI Kram lass ich einfach weg.Y0Gi hat geschrieben:Ich kann da ebenfalls was als Inspiration anbieten: http://homework.nwsnet.de/products/57
Gruss, BT
der ist zwar nicht schlecht, aber die Zahlen werden leider immer nur hinten angehängtY0Gi hat geschrieben:Ich kann da ebenfalls was als Inspiration anbieten: http://homework.nwsnet.de/products/57
hier mal ein versuch von mir
Code: Alles auswählen
# -*- coding: utf-8 -*-
import random
import Tkinter
root = Tkinter.Tk()
textvar = Tkinter.StringVar()
liste = []
def _scrolledEntry(*args):
op, howMany = args[0], args[1]
if op == "scroll":
units = args[2]
entry.xview_scroll ( howMany, units )
elif op == "moveto":
entry.xview_moveto ( howMany )
def createPasswd():
zahlen = '1234567890'
zeichen = 'AEIOUaeioubcdfghjklmnpqrstvwxyzBCDFGHJKLMNPQRSTVWXYZ'
return ''.join([random.choice( zahlen if i%2 else zeichen ) for i in range(7)])
def getNewPasswd():
pw = createPasswd()
textvar.set( pw )
liste.append( pw )
def createTk():
global entry
scb = Tkinter.Scrollbar(root, orient='horizontal', command=_scrolledEntry)
scb.pack( fill=Tkinter.X )
fnt = '{Lucida Sans Typewriter} 28 bold'
entry = Tkinter.Entry(root, textvariable=textvar,
relief=Tkinter.GROOVE,
bd=1,
background='#cdcc71',
font=fnt)
entry.pack(fill=Tkinter.X)
entry["xscrollcommand"] = scb.set
b = Tkinter.Button(root, text='password', command=getNewPasswd)
b.pack(fill=Tkinter.X, pady=10)
def _main():
createTk()
root.geometry('500x110')
root.mainloop()
if __name__=='__main__':
_main()
pyStyler
Nun, man kann nach diversen Schemata Passwörter zusammen setzen. Da könnte man z.B. eine Zahl am Anfang und zwei in der Mitte haben wollen, oder jeweils drei durch Sonderzeichen getrennte Segmente... Meine Lösung ist sicher nicht der Weisheit letzter Schluss, aber getreu dem KISS-Prinzip habe ich hier nicht den ultimativen Hammer für alle Anforderungen bauen wollen. Wenn man was bestimmtes haben möchte, lässt sich das - gerade in Python - leicht anpassen oder nachbauen.pyStyler hat geschrieben:der ist zwar nicht schlecht, aber die Zahlen werden leider immer nur hinten angehängtY0Gi hat geschrieben:Ich kann da ebenfalls was als Inspiration anbieten: http://homework.nwsnet.de/products/57
Übrigens verwende ich in meinem Code ``join()`` und füge optional Strings zusammen. Nach meinem aktuellen Wissen würde ich da Gebrauch von Generatoren machen (und PEP 8-konformen Bezeichnern). Soweit ich mich erinnere war jene Lösung allerdings die effizienteste (Generatoren außen vor gelassen).