我正在开发一个在线活动票务系统,用户将能够自行打印他的门票并出现在将被扫描(条形码)的活动中,理想情况下该人将进入。我的问题是如何创建一个满足以下要求的“机票代码”:
- 每个“票号”需要彼此充分不同(即不按顺序编号)
- 理想情况下,票证将根据中央数据库进行检查以防止重用,但它也需要能够离线工作,在这种情况下,系统必须检查“有效”票证代码并且它尚未用于此门。
- “票证代码”必须足够小,以便在需要时方便键入
- 持票人只需要门票即可进入(即无需身份检查)
数据的范围非常小,4 天内只有大约 20 个活动,每个活动大约 5,000 张门票(大约 100,000 个不同的门票代码)
现在我有几个字段没有打印在票上并且用户不知道我可以用来编码部分“票代码”,所以我可以使用 EventId、OrderId、EventDate 和一些盐来创建一个小的“ hash" 用于部分代码(想法?),但我仍然坚持使用顺序的票证 ID 或 GUID(会太长)
那么关于如何做到这一点的任何想法或指示?