【发布时间】:2012-02-02 19:59:11
【问题描述】:
我想自动生成一个唯一的 8-10 个字符的 ID 字符串,其中包含某种校验和位,以防止数据输入时出现拼写错误。我更喜欢没有序列号的东西,数据输入人员最终会陷入“常规”并习惯于一直输入相同的序列。
是否有与这类事情相关的最佳实践/陷阱?
更新:好的,我想我需要提供更多细节。
- 我想使用字母数字,而不仅仅是数字
- 我想要类似于信用卡校验和的行为,除了 8-10 个字符而不是 16 位数字
- 我希望 id 是唯一的;应该没有碰撞的可能。
第二次更新好的,我不明白这有什么令人困惑的地方,但我会尝试进一步解释。我正在尝试创建将在表格上显示的跟踪号,这些表格将在以后填写并输入数据。我将生成 id 并将其贴在表单上; id 必须是唯一的,它需要支持很多数字,并且需要合理地防止数据输入。
我不知道这是否已经做到了,或者即使可以做到,但问也无妨。
【问题讨论】:
-
那么,基本上是 ISBN、UPC 还是 EAN?
-
我对你的问题感到困惑。您说您想自动生成一个 ID 字符串,但您担心数据输入过程中的拼写错误。是用户创建 ID 字符串还是自动创建的?
-
@ArashN
GUID没有校验位。 -
@ArashN - GUID 的长度超过 8-10 个字符。
-
类似的东西,是的。诀窍是以易于验证的方式自动生成唯一值。