我有一个预订系统,每个订单都有自己的 id(postgres 自动递增 int)。
用户付款后,我想以 10 或 13 长度数字的形式向客户发送订单号。
我想做的是使用记录 ID 的唯一性,以确保生成唯一的数字表示形式。为此,我假设我需要像 Feistel 这样的密码机制。
例如:
db id | order number (for client)
---------------------------------
1 | 4627208375
2 | 9563725223
我考虑过使用 Feistel 密码来实现此目的,但不知道以这种方式实现它是否可能或明智。
我需要用 Java 或 Kotlin 来实现它。
为什么不能使用连续数字?每次只加1吗?每次都会是独一无二的。
订单号:000000001、000000002、...