为诅咒词清理随机字符串是不合理的吗?

Ryu*_*Ryu 24 random filtering filter

如果您使用其中编码的数据(产品密钥)公开随机生成的字符串或字符串.用诅咒词来消毒他们是不合理的,以避免客户可能在极少数情况下冒犯生成令人反感的词.

任何人都有一个客户被一个随机生成的诅咒词冒犯了?任何人都有代码逻辑来过滤掉它们吗?

谢谢

编辑

在开发了将客户数据编码到其中的产品密钥生成系统之后的一次.作为一个笑话,我们编写了一个程序来查看客户输入会产生有趣的单词.

Jef*_*nes 40

不要使用元音生成随机字符串,然后您不必担心诅咒字.

  • 虽然我普遍同意,你可能仍然会得到像"fck"或"fvck"这样的字符串.这可能仍属于"不要为疯狂进行优化". (12认同)
  • 哦,为了迈克的爱,请不要放入类似的字符(即O和0,I和1,p和q,d和b,l和1,l和I).每对只使用1个. (8认同)
  • @luke:是的,我认为这种方法将摆脱"真正的"诅咒词.想象或"有点看起来像一个诅咒的话,如果你眯着眼睛真的很难"的话仍然是用户的问题:) (4认同)
  • 很好的主意.应该也适用于大多数语言. (2认同)
  • 使用guid可能会阻止任何这些问题. (2认同)

ann*_*ata 29

是的,理由是任何被他们在随机生成的字符串中看到的东西冒犯的人都可以想到更多他们觉得冒犯的东西而不是消毒.

不要为疯狂进行优化.


jer*_*jvl 6

最简单的解决方案是从"消毒"字母表中生成; 使用一组不可能形成单词的字符.其中一个答案中的一个建议是十六进制,这是一个很好的选择,或者从字母表中删除一些关键字母.

请注意,只丢掉元音不会起作用......从剩余的辅音中推断它们太容易了.


小智 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”以提高速度,尽管省略的字符越多,生成的唯一键越少。

可能不是一个完美的解决方案,但是它可以满足我的需求,并且可以防止生成几乎所有英语单词,无论是否令人反感。

  • 用于复制粘贴参考:`bcdfghjkmpqrtvwxyBCDFGHJKMPQRTVWXY346789` (3认同)

The*_*beg 5

这对我来说很有意义。我的意思是,如果有人张贴你的产品图片,并在 CD 盒的背面印上这张图,那将是一场非常糟糕的公关灾难:

12345-67890-F**KU-ABCDE-FGHIJ

这听起来很有趣,但你永远不知道碰巧拿起那个包裹的人会有什么样的幽默感。

  • 上面的链接坏了。见 https://web.archive.org/web/20090116040027/https://www.clickondetroit.com/news/4050844/detail.html (3认同)