Seite 1 von 2

Re: Passwort-Generator

Verfasst: Mittwoch 17. Oktober 2012, 12:02
von BlackJack
Man kann sich auch ein Passwort von einer Suchmaschine geben lassen: http://duckduckgo.com/?q=password+42 :-)

Re: Passwort-Generator

Verfasst: Mittwoch 17. Oktober 2012, 13:02
von Leonidas
Aber dann weiß doch DDG was man für ein Passwort verwendet hat! :p

Re: Passwort-Generator

Verfasst: Donnerstag 18. Oktober 2012, 09:57
von jerch
Ich finde den Encoding-Hinweis von BlackJack durchaus wichtig und würde es noch weiter ausdehnen - spätestens wenn das Passwort gespeichert, gehasht oder de-crypt()-et werden soll, ist die Frage nach der eigentlichen Bytefolge wichtig. Will man dann auch noch mit einem anderen Tool als aus Python heraus das Passwort nutzen, können exotische Sonderzeichen aus dem Unicoderaum zum Spielverderber werden. Abhilfe schafft da nur die genaue Festlegung des Encodings vor der Verarbeitung des Passwortes. (Und unter Windows sind die Python Unicode-Literale intern nach wie vor UTF16 kodiert, während die meisten unixoiden Systeme inzwischen auf UTF32 setzen, ganz abgesehen von der BE/LE-Problematik)

Re: Passwort-Generator

Verfasst: Freitag 19. Oktober 2012, 17:45
von Üpsilon
Üpsilon hat geschrieben: [...] Aber ich hab mein Programm zum Üben geschrieben :mrgreen: :D :lol: [...]
@Blackjack: Ich wiederhole: Ich habe mein Programm zum ÜBEN geschrieben
und nur hochgeladen, weil ich was lernen wollte. (Das ist auch passiert.)
Aber jetzt wissen wenigstens alle, wo man Passwörter herkriegt
Edit: Von DuckDuckGo, aus pwgen oder von WolframAlpha (nach password suchen).
Oder aus komischen primitiven Python-Programmen.

Re: Passwort-Generator

Verfasst: Samstag 17. Januar 2015, 14:00
von rolgal_reloaded
Üpsilon hat geschrieben:Bin gerade etwas in eile, aber trotzdem danke für alles an alle. :lol:

Code: Alles auswählen

#!/usr/bin/python
# -*- coding:utf-8 -*-
"""Passwort-Generator
Programmiert von Üpsilon mit der Hilfe von vielen Anderen
Oktober 2012, Mainz, OT Hartenberg-Münchfeld
"""

import string, random
alle_zeichen= ["^", "!", "\"", "§", "$", "%", "&", "/", "(", ")", "=", "?", "ß", "\\", "+", "*", "<", ">", "|", "'", "#", ",",";",   ":",  "-", "_", "{", "}", "[", "]", "~"]
alle_zeichen.extend(string.ascii_letters)
alle_zeichen.extend(string.digits)

def erstelle_passwort():
    wort = ''.join(random.choice(alle_zeichen) for i in range(20))
    return wort

def main():
    wort = erstelle_passwort()
    thema = input("Gib ein, wofür du das Passwort brauchst: ")
    text = "%s: %s\n" %(thema, wort)
    with open("passwort.txt","a") as pw_datei:
        pw_datei.write(text)

main()

Ich habe mich neben diesem Code auch mit einigen anderen in der Rubrik Codesnippets beschäftigt. An dem Thread hat mir ganz gut gefallen, dass er didaktisch verwertbar ist, was hier sonst leider selten der Fall ist. Man kann schön die Schritte, die Verbesserungen nachvollziehen bzw. thematiseren.
Dennoch gibt es hier doch noch einen Fehler, oder nicht?

Code: Alles auswählen

thema = input("Gib ein, wofür du das Passwort brauchst: ")
Ist vielleicht etwas vorrangiger als div. Encodingüberlegungen :?:

LG, rolgal_reloaded

Re: Passwort-Generator

Verfasst: Samstag 17. Januar 2015, 21:58
von Üpsilon
Mach mal aus der ersten Zeile des Skriptes ein

Code: Alles auswählen

#!/usr/bin/env python3
oder sorge irgendwie dafür, dass es mit Python3 ausgeführt wird.

Py2: raw_input -> Py3: input
Py2: input -> Py3: eval(input(...)) (böse!)

Was ich damals für Kack-Code geschreiben habe, als ich noch kein join und LCs kannte...#nostalgie