Leider sind da meine Datenbank-Kenntnisse noch unzureichend, denn ich weiß nicht, wie man solche Listen dort einpflegt.
Hm, je nach verwendetem Datenbankserver sieht das dann so aus:
Anlegen der puren Tabelle:
CREATE TABLE `cracklist` (
`words` VARCHAR(255) NOT NULL,
`reverse` VARCHAR(255)
);
Einlesen der Daten als einspaltiges CSV:
LOAD DATA INFILE 'cracklist.txt'
INTO TABLE `cracklist`
LINES TERMINATED BY '\n'
;
ggf.(!) Erzeugen der Daten für Reverse-LIKE, Nützlich, wenn geprüft werden soll, ob ein Passwort der Beginn oder das Ende eines bekannten Wortes sein soll - denn 'LIKE '%ABC'
kann den Index nicht nutzen, aber LIKE 'CBA%'
kann es. Ohne die Nutzung des Index wird die Abfrage dauern, erwärmt aber auf jeden Fall sinnlos die Erde.
UPDATE `cracklist`
SET `reverse`=REVERSE(`words`)
Erzeugen des Index:
CREATE INDEX `words`
ON `cracklist` ( `words`, `reverse` );
Ach so. Die Dateien habe ich mit gzip gepackt. Das Entpacken auf dem Server mit gzip -d datei.txt.gz
resultiert im Verschwinden der gepackten Datei und Erscheinen der ausgepackten Datei „datei.txt“.