Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?
14.11.2019, 00:09:10

.
Einloggen mit Benutzername, Passwort und Sitzungslänge

Mitglieder
  • Mitglieder insgesamt: 22802
  • Letzte: F7even
Statistiken
  • Beiträge insgesamt: 619065
  • Themen insgesamt: 49963
  • Heute online: 597
  • Am meisten online: 992
  • (17.11.2018, 20:17:55)
Benutzer Online

Autor Thema:  Password Generator  (Gelesen 1485 mal)

0 Mitglieder und 1 Gast betrachten dieses Thema.

Re: Password Generator
« Antwort #30 am: 17.03.2019, 01:05:27 »
Hier nochmal das selbe Script, inklusive Hilfe.
#!/usr/bin/env python3

import sys
import argparse
import string
import itertools

parser = argparse.ArgumentParser(description='Generate password list')
parser.add_argument('--use-digits', action='store_true', help='Mit Ziffern')
parser.add_argument('--use-lowercase', action='store_true', help='Mit Kleinbuchstaben (a-z)')
parser.add_argument('--use-uppercase', action='store_true', help='Mit Großbuchstaben (A-Z)')
parser.add_argument('--use-punctuation', action='store_true', help='Mit Interpunktion')
parser.add_argument('--custom', nargs='+', help='Leerzeichen getrennte Liste von Zeichen')
parser.add_argument('length', metavar='N', type=int, help='Länge der Passwörter')
args = parser.parse_args(sys.argv[1:])

charlist = []
if args.use_digits:
  charlist += string.digits
if args.use_lowercase:
  charlist += string.ascii_lowercase
if args.use_uppercase:
  charlist += string.ascii_uppercase
if args.use_punctuation:
  charlist += string.punctuation
if args.custom:
  charlist += args.custom

if charlist:
  for line in [ "".join(x) for x in itertools.combinations_with_replacement(charlist, args.length) ]:
    print(line)

Dank an Whitie, für den Hinweis :)

Hier noch ein Beispiel zur Veranschaulichung:
$ ./pwlist.py 2 --custom a b c d
aa
ab
ac
ad
bb
bc
bd
cc
cd
dd

Edit:
Shit mit Zahlen hat das gut funktioniert... :/

Re: Password Generator
« Antwort #31 am: 17.03.2019, 01:40:32 »
Edit:
Shit mit Zahlen hat das gut funktioniert... :/
Ja, es gibt schon mehr Möglichkeiten:
~> printf %s\\n {a..d}{a..d}
aa
ab
ac
ad
ba
bb
bc
bd
ca
cb
cc
cd
da
db
dc
dd
Aber der TE scheint mir damit eh überfordert zu sein (kann man übrigens mit passender Nachfrage durchaus ändern).

Re: Password Generator
« Antwort #32 am: 17.03.2019, 01:49:58 »
Den Eindruck habe ich auch.. aber mir machts Spaß und habe etwas neues gelernt (Kartesisches Produkt) :)

Habs jetzt auch mit Python hinbekommen:
#!/usr/bin/env python3

import sys
import argparse
import string
import itertools

parser = argparse.ArgumentParser(description='Generate password list')
parser.add_argument('--use-digits', action='store_true', help='Mit Ziffern')
parser.add_argument('--use-lowercase', action='store_true', help='Mit Kleinbuchstaben (a-z)')
parser.add_argument('--use-uppercase', action='store_true', help='Mit Großbuchstaben (A-Z)')
parser.add_argument('--use-punctuation', action='store_true', help='Mit Interpunktion')
parser.add_argument('--custom', nargs='+', help='Leerzeichen getrennte Liste von Zeichen')
parser.add_argument('length', metavar='N', type=int, help='Länge der Passwörter')
args = parser.parse_args(sys.argv[1:])

charlist = []
if args.use_digits:
  charlist += string.digits
if args.use_lowercase:
  charlist += string.ascii_lowercase
if args.use_uppercase:
  charlist += string.ascii_uppercase
if args.use_punctuation:
  charlist += string.punctuation
if args.custom:
  charlist += args.custom

if charlist:
for line in ["".join(p) for p in itertools.product(charlist, repeat=args.length)]:
print(line)

$ ./pwlist.py 2 --custom a b c d
aa
ab
ac
ad
ba
bb
bc
bd
ca
cb
cc
cd
da
db
dc
dd

Re: Password Generator
« Antwort #33 am: 17.03.2019, 02:22:26 »
... habe etwas neues gelernt (Kartesisches Produkt)
Ich jetzt auch. Danke.