Poszukuję listy słów ze słownika angielskiego dla aplikacji do hasła, nad którą pracuję. Idealnie lista może być łatwo wstawiona do bazy danych mysql. Jakieś sugestie?Baza danych MySQL słów angielskich?
systemyOdpowiedz
Większość Unix mają zestaw listy słów, w moim systemie Ubuntu jest na/usr/share/dict/american-angielski
jedno słowo przychodzi na linię, więc łatwo wstawić Jeśli naprawdę chcesz go w bazie danych.
to bash oneliner robi to nieefektywnie:
cat /usr/share/dict/american-english \
| while read i; do echo insert into wordlist\(word\) VALUES \(\"$i\"\); done \
| mysql -u<user> -p<pass> <db>
Polecenie to MySQL robi to efektywnie (jeśli plik znajduje się w tej samej maszynie):
LOAD DATA LOCAL INFILE '/usr/share/dict/american-english' INTO TABLE wordlist;
importowania lista słów do MySQL, użyj
LOAD DATA LOCAL INFILE '/usr/share/dict/words' INTO TABLE words;
gdzie words
jest tabelą jednokolumnową.
Przepisano, zredagowałem moją odpowiedź, aby włączyć to! –
Wystarczy dodać dla każdego, kto googlełbył tutaj: aby wstawić go do tabeli z wieloma kolumnami, możesz użyć polecenia "LOAD DATA LOCAL INFILE"/usr/share/dict/words 'INTO TABLE words (column); 'where column to varchar pole, w którym chcesz zapisać słowa. – stormbreaker
Znalazłem to: MySQL formatted english words list
wiem dużo o ile słowa nie są, ale jest to ogromna lista i tak :)
Istnieje około 128/129K słowa w nim i słowa dłuższe niż 10 Listów zostały usunięte.
Mój system ma również plik o nazwie 'cracklib-small' w'/usr/share/dict/'. Zawiera 53 tysiące słów, podczas gdy amerykański plik angielski ma 99k słów. Podczas gdy cracklib jest mniejszy, plik w języku angielskim zawiera słowa takie jak "émigré", które byłyby straszne dla haseł, więc jeśli celem jest generowanie haseł w stylu diceware, możesz zamiast tego użyć słownika cracklib. – Nick