【发布时间】:2014-02-15 18:39:52
【问题描述】:
我想在我的网络应用中启用“保存”功能。我会将数据发送到 PHP post 接收器,并将数据保存在 MySQL 行中,所以通常我可以使用它的 id 加载它,如下所示:
site.com/content/123
但我想(只是为了花哨的外观)为此使用“哈希”(不确定它是否正确),例如:
site.com/content/A2w7SqZ
就像 jsFiddle 一样。如何将 id(整数)转换为哈希?
示例: http://jsfiddle.net/sfu24/
我能想到的唯一方法是 MD5。但它会生成一个很长的字符串。我觉得6个字就够了。
那么如何制作像 jsfiddle 这样的哈希系统呢?
感谢您的帮助!
P.S. 我相信这个问题已经被问过百万次了。但我找不到它。如果您知道已经存在的答案,请发布链接,我将删除该问题。
【问题讨论】:
-
您可以构建自己的哈希系统。循环遍历字母和数字并随机附加它们
-
但我只有一个整数作为种子。现在我找到了一个方法here 它建议取一个MD5哈希的子串。它会起作用吗?不危险吗? (冲突的危险)?
-
首先你想做什么?花哨的外观还是md5? md5 不会像您的示例中那样生成花哨的字符串。如果你想生成随机字符,这里那里有很多函数。选择其中一个,生成随机字符,将其与相关 id 一起保存到数据库,如果需要,读取并重定向到相关 id...
-
@optional 不,我想要随机字符(字母数字,大写和小写),它们不必有意义。让我改变我的例子:)
-
@CengizFrostclaw 他们必须是可逆的吗?我的意思是您是否希望“12345”每次都响应“g4L3w9”,或者如果您对字符串“12345”进行 5 次哈希处理,您将收到 5 个不同的哈希值?