Einzelnen Beitrag anzeigen
Alt 14.01.09, 23:20   #5 (permalink)
CDW
Moderator
 
Benutzerbild von CDW
 
Registriert seit: 20.07.05
CDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: OpteronCDW Leistung: Opteron
Likes: 198
Standard

Gehts nur darum, Sonderzeichen in ein vorgegebens Passwort einzubauen?
Oder auch aus dem Satz erstmal ein Passwort zu generieren?
Mein Ganz Geheimer Satz

mggs
MeGaGeSa
MGaGS

also mit variable Anzahl von Buchstaben pro Wort.

Für den ersten Fall (vorgegebenes Passwort, nur Sonderzeichen einfügen):
SWI Prolog   

Code:
make_dic(OutFile):-consult(config),pass(Pass),spec_chars(List),
              open(OutFile,write,Stream),
              forall((spec_char(Chars,List),insert(Chars,Pass,Result)),
                      (atom_codes(Atom,Result),write(Stream,Atom),nl(Stream))),
              close(Stream).

spec_char([C],List):-member(C,List).
spec_char([C1,C2],List):-member(C1,List),member(C2,List).

insert([],Result,Result).
insert([C|CList],Word,Result):-select(C,NewWord,Word),insert(CList,NewWord,Result).

Konfiguriert wird das ganze durch Einträge in der "config.pl".
Code:
pass("GeHeiM").
spec_chars("$'%.").
Vorgabe des Passworts sowie Sonderzeichen/Ziffern usw (falls Du " (Anführungszeichen) als Sonderzeichen verwenden willst, musst Du noch ein \ davor setzen, also "%$\"" ). Was auch immer hier vorgegeben wird - es werden alle Kombinationen mit 1 und mit 2 Zeichen+Passwort gebildet.
Programmstart:
Falls SWI Prolog vorhanden:

consult('dict2.pl').

Oder die beigelegte Binary ausführen.
In der Prologkonsole eingeben:

make_dic('wordlistdateiname.txt').

Dabei schön auf den "." am Ende der Eingabe achten - ist ein Teil des Befehls

Beispielausgabe für "pass" und "$'%."
Ergebnis   

$pass
p$ass
pa$ss
pas$s
pass$
'pass
p'ass
pa'ss
pas's
pass'
%pass
p%ass
pa%ss
pas%s
pass%
.pass
p.ass
pa.ss
pas.s
pass.
$$pass
$$pass
$p$ass
$pa$ss
$pas$s
$pass$
$p$ass
p$$ass
p$$ass
p$a$ss
p$as$s
p$ass$
$pa$ss
p$a$ss
pa$$ss
pa$$ss
pa$s$s
pa$ss$
$pas$s
p$as$s
pa$s$s
pas$$s
pas$$s
pas$s$
$pass$
p$ass$
pa$ss$
pas$s$
pass$$
pass$$
'$pass
$'pass
$p'ass
$pa'ss
$pas's
$pass'
'p$ass
p'$ass
p$'ass
p$a'ss
p$as's
p$ass'
'pa$ss
p'a$ss
pa'$ss
pa$'ss
pa$s's
pa$ss'
'pas$s
p'as$s
pa's$s
pas'$s
pas$'s
pas$s'
'pass$
p'ass$
pa'ss$
pas's$
pass'$
pass$'
%$pass
$%pass
$p%ass
$pa%ss
$pas%s
$pass%
%p$ass
p%$ass
p$%ass
p$a%ss
p$as%s
p$ass%
%pa$ss
p%a$ss
pa%$ss
pa$%ss
pa$s%s
pa$ss%
%pas$s
p%as$s
pa%s$s
pas%$s
pas$%s
pas$s%
%pass$
p%ass$
pa%ss$
pas%s$
pass%$
pass$%
.$pass
$.pass
$p.ass
$pa.ss
$pas.s
$pass.
.p$ass
p.$ass
p$.ass
p$a.ss
p$as.s
p$ass.
.pa$ss
p.a$ss
pa.$ss
pa$.ss
pa$s.s
pa$ss.
.pas$s
p.as$s
pa.s$s
pas.$s
pas$.s
pas$s.
.pass$
p.ass$
pa.ss$
pas.s$
pass.$
pass$.
$'pass
'$pass
'p$ass
'pa$ss
'pas$s
'pass$
$p'ass
p$'ass
p'$ass
p'a$ss
p'as$s
p'ass$
$pa'ss
p$a'ss
pa$'ss
pa'$ss
pa's$s
pa'ss$
$pas's
p$as's
pa$s's
pas$'s
pas'$s
pas's$
$pass'
p$ass'
pa$ss'
pas$s'
pass$'
pass'$
''pass
''pass
'p'ass
'pa'ss
'pas's
'pass'
'p'ass
p''ass
p''ass
p'a'ss
p'as's
p'ass'
'pa'ss
p'a'ss
pa''ss
pa''ss
pa's's
pa'ss'
'pas's
p'as's
pa's's
pas''s
pas''s
pas's'
'pass'
p'ass'
pa'ss'
pas's'
pass''
pass''
%'pass
'%pass
'p%ass
'pa%ss
'pas%s
'pass%
%p'ass
p%'ass
p'%ass
p'a%ss
p'as%s
p'ass%
%pa'ss
p%a'ss
pa%'ss
pa'%ss
pa's%s
pa'ss%
%pas's
p%as's
pa%s's
pas%'s
pas'%s
pas's%
%pass'
p%ass'
pa%ss'
pas%s'
pass%'
pass'%
.'pass
'.pass
'p.ass
'pa.ss
'pas.s
'pass.
.p'ass
p.'ass
p'.ass
p'a.ss
p'as.s
p'ass.
.pa'ss
p.a'ss
pa.'ss
pa'.ss
pa's.s
pa'ss.
.pas's
p.as's
pa.s's
pas.'s
pas'.s
pas's.
.pass'
p.ass'
pa.ss'
pas.s'
pass.'
pass'.
$%pass
%$pass
%p$ass
%pa$ss
%pas$s
%pass$
$p%ass
p$%ass
p%$ass
p%a$ss
p%as$s
p%ass$
$pa%ss
p$a%ss
pa$%ss
pa%$ss
pa%s$s
pa%ss$
$pas%s
p$as%s
pa$s%s
pas$%s
pas%$s
pas%s$
$pass%
p$ass%
pa$ss%
pas$s%
pass$%
pass%$
'%pass
%'pass
%p'ass
%pa'ss
%pas's
%pass'
'p%ass
p'%ass
p%'ass
p%a'ss
p%as's
p%ass'
'pa%ss
p'a%ss
pa'%ss
pa%'ss
pa%s's
pa%ss'
'pas%s
p'as%s
pa's%s
pas'%s
pas%'s
pas%s'
'pass%
p'ass%
pa'ss%
pas's%
pass'%
pass%'
%%pass
%%pass
%p%ass
%pa%ss
%pas%s
%pass%
%p%ass
p%%ass
p%%ass
p%a%ss
p%as%s
p%ass%
%pa%ss
p%a%ss
pa%%ss
pa%%ss
pa%s%s
pa%ss%
%pas%s
p%as%s
pa%s%s
pas%%s
pas%%s
pas%s%
%pass%
p%ass%
pa%ss%
pas%s%
pass%%
pass%%
.%pass
%.pass
%p.ass
%pa.ss
%pas.s
%pass.
.p%ass
p.%ass
p%.ass
p%a.ss
p%as.s
p%ass.
.pa%ss
p.a%ss
pa.%ss
pa%.ss
pa%s.s
pa%ss.
.pas%s
p.as%s
pa.s%s
pas.%s
pas%.s
pas%s.
.pass%
p.ass%
pa.ss%
pas.s%
pass.%
pass%.
$.pass
.$pass
.p$ass
.pa$ss
.pas$s
.pass$
$p.ass
p$.ass
p.$ass
p.a$ss
p.as$s
p.ass$
$pa.ss
p$a.ss
pa$.ss
pa.$ss
pa.s$s
pa.ss$
$pas.s
p$as.s
pa$s.s
pas$.s
pas.$s
pas.s$
$pass.
p$ass.
pa$ss.
pas$s.
pass$.
pass.$
'.pass
.'pass
.p'ass
.pa'ss
.pas's
.pass'
'p.ass
p'.ass
p.'ass
p.a'ss
p.as's
p.ass'
'pa.ss
p'a.ss
pa'.ss
pa.'ss
pa.s's
pa.ss'
'pas.s
p'as.s
pa's.s
pas'.s
pas.'s
pas.s'
'pass.
p'ass.
pa'ss.
pas's.
pass'.
pass.'
%.pass
.%pass
.p%ass
.pa%ss
.pas%s
.pass%
%p.ass
p%.ass
p.%ass
p.a%ss
p.as%s
p.ass%
%pa.ss
p%a.ss
pa%.ss
pa.%ss
pa.s%s
pa.ss%
%pas.s
p%as.s
pa%s.s
pas%.s
pas.%s
pas.s%
%pass.
p%ass.
pa%ss.
pas%s.
pass%.
pass.%
..pass
..pass
.p.ass
.pa.ss
.pas.s
.pass.
.p.ass
p..ass
p..ass
p.a.ss
p.as.s
p.ass.
.pa.ss
p.a.ss
pa..ss
pa..ss
pa.s.s
pa.ss.
.pas.s
p.as.s
pa.s.s
pas..s
pas..s
pas.s.
.pass.
p.ass.
pa.ss.
pas.s.
pass..
pass..

Angehängte Dateien
Dateityp: zip dictgen.zip (426,9 KB, 10x aufgerufen)
__________________
Noch mal, für alle Pseudo-Geeks: 1+1=0. -> 10 wäre Überlauf!
Selig, wer nichts zu sagen hat und trotzdem schweigt.
CDW ist offline   Mit Zitat antworten
 

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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61