Ryu*_*Ryu 24 random filtering filter
如果您使用其中编码的数据(产品密钥)公开随机生成的字符串或字符串.用诅咒词来消毒他们是不合理的,以避免客户可能在极少数情况下冒犯生成令人反感的词.
任何人都有一个客户被一个随机生成的诅咒词冒犯了?任何人都有代码逻辑来过滤掉它们吗?
谢谢
编辑
在开发了将客户数据编码到其中的产品密钥生成系统之后的一次.作为一个笑话,我们编写了一个程序来查看客户输入会产生有趣的单词.
Jef*_*nes 40
不要使用元音生成随机字符串,然后您不必担心诅咒字.
最简单的解决方案是从"消毒"字母表中生成; 使用一组不可能形成单词的字符.其中一个答案中的一个建议是十六进制,这是一个很好的选择,或者从字母表中删除一些关键字母.
请注意,只丢掉元音不会起作用......从剩余的辅音中推断它们太容易了.
小智 6
Microsoft从其产品密钥中省略了以下内容:
0 1 2 5 A E I O U L N S Z
我忽略了[0-9A-Z]中的那些内容,一旦生成了密钥,便与我发现的两个英文字母最常见的组合列表进行匹配,并在匹配时重新生成密钥。为了提高速度,我首先从该列表中剔除了字母对列表,因为该字母对包含在剥离列表中,因此已经被阻止(如果键是从字符集生成的,则“ HE”将不存在) (不包括“ E”),然后将某些内容从“ E”转换为“ 3”,例如“ H3”而不是“ HE”,等等。我还添加了一些自己的内容,例如“ KK”和“ CK'用于边缘情况。也可以根据需要省略“ 3”以提高速度,尽管省略的字符越多,生成的唯一键越少。
可能不是一个完美的解决方案,但是它可以满足我的需求,并且可以防止生成几乎所有英语单词,无论是否令人反感。
这对我来说很有意义。我的意思是,如果有人张贴你的产品图片,并在 CD 盒的背面印上这张图,那将是一场非常糟糕的公关灾难:
12345-67890-F**KU-ABCDE-FGHIJ
这听起来很有趣,但你永远不知道碰巧拿起那个包裹的人会有什么样的幽默感。