【发布时间】:2009-03-31 20:31:25
【问题描述】:
有谁知道从字符串 (url) 生成看起来像 tinyurl 哈希的哈希的算法
我认为要求是
区分大小写 短的 仅限数字和字母 还有什么?
【问题讨论】:
-
只是为了让术语正确:我不会说 TinyURL.com 使用“hashes”。
标签: url
有谁知道从字符串 (url) 生成看起来像 tinyurl 哈希的哈希的算法
我认为要求是
区分大小写 短的 仅限数字和字母 还有什么?
【问题讨论】:
标签: url
我认为 tinyurl 不会对字符串进行散列;他们有一个数据库 ID (1, 2, 3),它被转换为 base 36 (0-9A-Z):http://en.wikipedia.org/wiki/Base_36
【讨论】:
哈希并不能保证不会发生冲突(假设您要哈希的项目多于哈希的可能值),相反,一个好的哈希算法可以保证不会经常发生冲突.
这对于 URL 生成很重要,因为存在的 URL 总数大于可以存储在固定字符串哈希中的值。
相反,我相信您会看到一个递增的计数器,并使用具有大基数的数字系统(例如 62,对于数字 0-9,字符 a-z 和 A-Z)来表示唯一的计数器的值.
【讨论】: