相关疑难解决方法(0)

如何创建URL缩短器?

我想创建一个URL缩短服务,您可以在其中将长URL写入输入字段,该服务将URL缩短为" http://www.example.org/abcdef".

而不是" abcdef"可以有任何其他六个字符包含的字符串a-z, A-Z and 0-9.这使得56到570亿个可能的字符串.

我的方法:

我有一个包含三列的数据库表:

  1. id,integer,auto-increment
  2. long,string,用户输入的长URL
  3. short,string,缩短的URL(或只是六个字符)

然后我会将长URL插入表中.然后我会选择" id" 的自动增量值并构建它的哈希值.然后应该将此哈希插入为" short".但是我应该构建什么样的哈希?像MD5这样的散列算法会创建太长的字符串.我想,我不使用这些算法.自建算法也可以工作.

我的想法:

对于" http://www.google.de/"我得到自动增量ID 239472.然后我执行以下步骤:

short = '';
if divisible by 2, add "a"+the result to short
if divisible by 3, add "b"+the result to short
... until I have divisors for a-z and A-Z.
Run Code Online (Sandbox Code Playgroud)

这可以重复,直到数字不再可分.你认为这是一个好方法吗?你有更好的主意吗?

由于对该主题的持续兴趣,我发布了一个有效的GitHub解决方案,包括JavaScript,PHP,PythonJava的实现.如果你愿意,可以添加你的解

algorithm url

646
推荐指数
8
解决办法
24万
查看次数

标签 统计

algorithm ×1

url ×1