javascript - 有没有一种方法可以缩短字符串唯一 ID 数组,同时仍确保唯一性?

标签 javascript node.js string firebase-realtime-database uniqueidentifier

我有来自 Firebase 数据库的一组字符串唯一 ID,其中一个如下所示:QXgZI3JB72Zf1qzeawIdxHSsPa62

我想向用户打印这些 id,但首先我想将 id 缩短到至少 7 个字符左右,但要超过该长度,以防两个缩短的 id 最终变得相等。这样,如果有人想要引用特定的 ID,他们可以使用缩短的版本,而不会意外引用多个内容。

有什么办法可以实现这一点吗?

<小时/>

要更好地了解我在说什么,请参阅 git 命令 git rev-parse ( docs ),其中包含 --short 标志,将提交哈希值削减为至少 7 个字符长(但允许它更长,以防它不再唯一):

Instead of outputting the full SHA-1 values of object names try to abbreviate them to a shorter unique name.

最佳答案

我认为没有安全的方法可以在生成唯一 ID 后缩短它们 (CMIIAW)。

id的唯一性由中央服务器保证,它保证了它们的唯一性:在发生冲突的情况下,它将重新计算不同的id,直到它是唯一的。

如果在发出 ids 后缩短它们,则不能 100% 保证它们是唯一的,如果您不想重播服务器的工作,保留 ids 数据库...

正如您所说,git --short 打印提交 ID 的缩短版本,但是将允许它更长,以防它不再唯一 ...

关于javascript - 有没有一种方法可以缩短字符串唯一 ID 数组,同时仍确保唯一性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39453554/

相关文章:

javascript - 在空格中输入逗号 (javascript)

javascript - 如何在 jquery 3.1.0 中使用 "Swipe Menu Jquery Mobile"?

javascript - 无法使用 node-postgres 从 Node 访问 Postgres 中的正确表

数组中的 PHP 最短/最长字符串长度

javascript - 如何连接两个 JavaScript 变量和正则表达式

Javascript 框架和渐进增强

node.js - 使用用户输入返回 postgreSQL 数据库记录

javascript - 为什么我不能检查环境变量是否未定义?

android - SQLite Where IN 后跟变量 String

java - 如何在从另一个类构建的类中搜索单词?