我想向我的用户发送英文单词,作为我的应用程序的双因素身份验证代码。为了便于使用,我想排除包含任何特殊字符的单词,例如ï,å,ä等,同时我希望避免让用户输入可能被视为“jihad”或“vagina”等词语奇怪或冒犯。在这种情况下,随机生成的字符串不是一个选项,即使我知道这种解决方案的安全性好处。
我无法找到符合这些标准的任何策划词汇表,而且我无法手动通过20 000或更多单词来检测令人反感的词汇。我开始考虑使用类似城市列表的东西,但即使在那里,我也会很快遇到可用性问题。我该怎么做才最好呢?
答案 0 :(得分:3)
我通过以纯文本下载儿童书并运行
解决了这个问题 cat childrens_book.txt | grep -o -w '\w\{5,9\}[a-z]' > words.txt
用于填写长度为5到9个字母的单词。
然后我只是让每个单词都是独一无二的,它产生了一个18000字长的列表,我可以相当确定它不包含令人反感的语言。