URL缩短算法

Boz*_*zho 20 java url url-shortener

现在,这不是严格意义上的URL缩短,但我的目的无论如何,所以让我们这样看.当然,URL缩短的步骤是:

  1. 获取完整的URL
  2. 生成唯一的短字符串作为URL的键
  3. 将URL和密钥存储在数据库中(键值存储将是完美的匹配)

现在,关于第二点.这是我想出的:

ByteArrayOutputStream baos = new ByteArrayOutputStream();
DataOutputStream dos = new DataOutputStream(baos);
UUID uuid = UUID.randomUUID();
dos.writeLong(uuid.getMostSignificantBits());
String encoded = new String(Base64.encodeBase64(baos.toByteArray()), "ISO-8859-1");
String shortUrlKey = StringUtils.left(encoded, 6); // returns the leftmost 6 characters
// check if exists in database, repeat until it does not
Run Code Online (Sandbox Code Playgroud)

这够好吗?

Uwe*_*eim 5

对于我编写的文件上传应用程序,我也需要此功能。读完这篇文章后,我决定只使用一些随机数并检查它们是否存在于数据库中。

所以你的做法和我的做法很相似。