我正在开发一个系统,这个系统大量地使用假名来让隐私关键数据能够被研究人员使用。这些假名应该具有以下特点:
- 它们不应该包含任何信息(例如创建时间、与其他假名的关系、编码数据等)。
- 容易创建唯一的假名。
- 它们应该是人类可读的。这意味着人类在比较、复制和大声阅读时应该很容易理解。
我的第一个想法是使用UUID4。它们在 (1) 和 (2) 上相当好,但在 (3) 上并不太好。
另一种方法是使用更广泛的字符集对 UUID 进行编码,从而生成较短的字符串(例如 shortuuid)。但我不确定这是否会真正提高可读性。
目前我正在研究的另一种方法是从一篇 2005 年的论文中获得启发,题为 "An optimal code for patient identifiers",旨在解决我所遇到的问题。该算法描述了如何创建具有 30 位熵的 8 字符假名。不过我更倾向于使用更广泛审查的标准。
此外还有 Git 的方法:仅显示实际假名的前几个字符。但这意味着假名可能会在一段时间后失去其唯一性。
因此,我的问题是:是否有任何广泛使用的人类可读唯一标识的标准?