我想在我正在开发的Web应用程序中使用base36 ...但由于用户可以看到id作为url,我想过滤掉亵渎。有人解决了这个吗?或者这甚至是一个真正的问题?
仅跳过数据库序列中的数字是否有意义?
答案 0 :(得分:8)
好吧,不要试图收集所有可能的咒骂词,而只是过滤掉元音。这将为你留下充足的空间排列。不可否认,你只是从基数36减少到基数31,但是基数31的数字是有效的基数36,假定相同的符号集(a-z0-9)。如果困扰你,用其他非魔法7位ascii替换五个元音,如!,@,$,%和(。
当然,你可能会以sh1t和fck结束,但亵渎是读者的想法。
-Oisin
答案 1 :(得分:2)
为什么不在十六进制中使用全随机随机生成的GUID?无论您使用何种编程语言,都应该很容易生成。并且以十六进制表示,我会想象产生一些令人难以理解的方法零的可能性。