我正在编写一个算法来生成一个随机的6个字符的字符串(例如客户代码XDEJQW)。我想确保内部没有和/或令人反感的词汇或字符串。我想我别无选择只能拥有这些坏词的数据库表,对吧?只是看起来很蠢,我必须有一个添加/编辑页面供某人去,其中有一些非常可怕的词。
感谢。
答案 0 :(得分:0)
不需要表,您可以为此目的使用字符串数组或枚举。优点是您不必发送请求来获取坏字表的记录。性能更好。基本上你可以随机化6个字符的值,直到结果不包含坏词。
答案 1 :(得分:0)
取决于值的目的,你可以改变随机过程以确保没有生成有效的单词..所以如果没有生成有效的单词..令人反感的字符串不会以太......例如..
bi,ca,do
,et,if,or
或get,for
等的“修饰符”..如果你可以避免这些“模式”
生成单词的概率很低..
另一方面,如果你想生成可发音的密码,你在辅音和元音之间做相反的交替来产生音节,例如:cidofe
,但在这种情况下,你必须根据“坏话“
但是在以太的情况下请记住,如果你要验证..不要只是验证一个完整的单词也尝试过滤掉部分单词,拼写错误或缩写,以避免像SUKMYDIK
答案 2 :(得分:0)
说你有一个禁止的单词列表'。您可以散列它们并存储散列值,而不是存储单词。然后,在制作随机单词时,检查哈希值,而不是单词。