2009-07-11 14 views
12

मैं एक ऐसे पासवर्ड एप्लिकेशन के लिए अंग्रेज़ी शब्दकोश शब्द की एक सूची ढूंढ रहा हूं जिस पर मैं काम कर रहा हूं। आदर्श रूप से सूची को आसानी से एक MySQL डेटाबेस में डाला जा सकता है। कोई सुझाव?अंग्रेजी शब्दों का MySQL डेटाबेस?

उत्तर

21

अधिकांश यूनिक्स प्रणालियों शब्द सूची का एक सेट है, मेरे Ubuntu प्रणाली में इस पर है/usr/share/dict/अमेरिकी-अंग्रेज़ी तो यह यदि आप वास्तव में डालने के लिए आसान है

एक एक शब्द, प्रत्येक पंक्ति में आता है इसे डेटाबेस में चाहिए।

यह बैश oneliner यह अकुशलता से करता है:

cat /usr/share/dict/american-english \ 
    | while read i; do echo insert into wordlist\(word\) VALUES \(\"$i\"\); done \ 
    | mysql -u<user> -p<pass> <db> 

यह MySQL आदेश यह कुशलतापूर्वक करता है (यदि फ़ाइल एक ही मशीन में है):

LOAD DATA LOCAL INFILE '/usr/share/dict/american-english' INTO TABLE wordlist; 
+0

मेरे सिस्टम में '/ usr/share/dict /' में 'cracklib-small' नामक एक फ़ाइल भी है। इसमें 53k शब्द हैं जबकि अमेरिकी अंग्रेज़ी फ़ाइल में 99k शब्द हैं। जबकि क्रैकलिब छोटा है, अंग्रेजी फ़ाइल में 'émigré' जैसे शब्द होते हैं जो पासवर्ड के लिए भयानक होंगे, इसलिए यदि लक्ष्य डाइसवेयर शैली पासवर्ड पीढ़ी है, तो आप इसके बजाय क्रैकलिब शब्दकोश का उपयोग करना चाह सकते हैं। – Nick

19

एक आयात करने के लिए MySQL को शब्द सूची,

का उपयोग करें 0

जहां words एक एकल कॉलम तालिका है।

+0

उपरोक्त, इसे शामिल करने के लिए मेरा जवाब संपादित किया! –

+1

बस यहां जाने वाले किसी भी व्यक्ति के लिए जोड़ने के लिए: इसे बहु-कॉलम तालिका में डालने के लिए आप 'लोड डेटा स्थानीय इन्फाइल'/usr/share/dict/words 'का उपयोग कर सकते हैं तालिका शब्दों (कॉलम); जहां कॉलम एक वर्चर है फ़ील्ड में आप शब्दों को स्टोर करना चाहते हैं। – stormbreaker

2

मैं इस पाया: MySQL formatted english words list

के बारे में कितने शब्द में नहीं हैं ज्यादा पता नहीं है, लेकिन यह भी एक बड़ी सूची है :)

उस में के बारे में 128/129K शब्द और शब्दों से अधिक समय के 10 अक्षर होते हैं हटा दिया गया है।

संबंधित मुद्दे