0

我想知道 URL 缩短的最佳算法是什么。我注意到大多数人会这样做:

1) 从数据库中获取唯一的自动生成的 id。2) 将唯一自动生成的 id 编码为 Base 64 值。

对于用户来说,以前的 url 可能是什么是显而易见的。我该怎么做才能让用户更难弄清楚我正在使用什么算法?

谢谢你,特什

4

3 回答 3

2

随机生成一个id,看看是否已经被使用过?

于 2010-11-19T06:57:12.213 回答
1

也许你可以使用 SHA 来散列它

编辑:更好地生成一个随机数并像 Jon 指出的那样对其进行散列

于 2010-11-19T06:55:17.770 回答
1

首先,将身份验证信息(例如用户名和密码)放在 URL 中并不是一个好主意(用户会通过复制/粘贴链接方式泄露他们的密码)。

也就是说,如果您想隐藏 URL 添加到缩短服务的顺序,您可以使用加密哈希函数的输出,例如 MD5 或 SHA1(这被认为是“不可逆的”,无法从输出),base-64 对其进行编码,并取 8 个字符,例如。散列函数的输入可以是 URL(也可能是当前时间)。

于 2010-11-19T07:01:24.543 回答