可能重复:
how to check if a string looks randomized, or human generated and pronouncable?
Is there any way to detect strings like putjbtghguhjjjanika?
是否有任何算法能够检测在线昵称的随机性?在许多情况下它会变得有用。
给定任何字母数字名称,算法应该能够给它一个“随机性”值。如果随机性值太高,则应用程序可以强制用户选择其他名称 例如,“Mikel”将通过测试并被允许使用,而“Agslj”则不会被强制选择其他名称
如果没有可用的算法,我怎样才能为此创建算法?
答案 0 :(得分:2)
您可能希望查看英文字母的使用模式/频率,Letter Frequency Analysis是一个非常基础的好网站。
This page也可以帮助你进行狩猎。
基本上你想要做的是使用类似的技术来密码学家在试图破解代码时使用的技术 如果输入到文本框中的工作与丢失阈值内的已知使用模式匹配,那么您可以允许它,而如果条目与任何频率/使用模式都不匹配,那么您可以安全地丢弃它。
在尝试任何此类算法之前,我会建议你研究这些技巧。
然而,在如此短暂的输入中,我无法保证您的准确性......
答案 1 :(得分:-1)
似乎很难实现这样的算法,但你可以尝试一下:
如果您检查基于英语的单词(或任何拉丁语派生语言),则没有多少单词具有超过3个连续辅音。元音也一样。
此外,您可以计算存在的数量,位置等等。