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 "$'%."