gpt4 book ai didi

Ruby on Rails - 生成 bit.ly 样式标识符

转载 作者:行者123 更新时间:2023-12-04 16:41:33 25 4
gpt4 key购买 nike

我正在尝试生成与 bit.ly url 样式相同的 UUID,例如:

http://bit [dot] ly/aUekJP
或 cloudapp 的:
http://cl [dot] ly/1hVU
哪个更小
我该怎么做?
我现在将 UUID gem 用于 ruby​​,但我不确定是否可以限制长度并获得类似的结果。
我目前正在使用这个:
UUID.generate.split("-")[0] => b9386070
但我想要更小,并且知道它将是独一无二的。
任何帮助将不胜感激:)

编辑说明:用 [dot] 替换点字母对于 banned short link 的解决方法

最佳答案

你在这里混淆了两种不同的东西。 UUID 是通用唯一标识符。即使同时在世界各地创建数百万个,它也很有可能是独一无二的。它通常显示为 36 位字符串。您不能砍掉前 8 个字符并期望它是唯一的。

有点,tinyurl 等存储链接并生成一个短代码来表示该链接。它们不会根据在数据存储中查找的代码重建 URL 并返回相应的 URL。这些不是 UUIDS。

在不了解您的应用程序的情况下,很难建议您应该使用哪种方法,但是您可以使用数字键将您指向的任何内容存储在数据存储中,然后使用 10 位数字和 22 个小写字母将键重新设置为 base32,也许避免明显的错字问题,如“o”“i”“l”等

编辑

在进一步调查中有一个 Ruby base32 gem可用于实现 Douglas Crockford 的 Base 32 implementation

一个 5 个字符的 Base32 字符串可以表示超过 3300 万个整数,一个 6 位字符串可以表示超过 10 亿个。

关于Ruby on Rails - 生成 bit.ly 样式标识符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3282100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com