



























1 fjkfwz406 2025 年 8 月 28 日批量生成存数据库 |
2 walle1530 2025 年 8 月 28 日第二种假设秘钥漏了你不炸了 |
4 spritecn 2025 年 8 月 28 日记得前前同事用 uuid.md5.hashCode/100000 结果上线三个月后重复了 |
7 JoeJoeJoe 2025 年 8 月 28 日@spritecn #6 我也没整过这种兑换码, 不晓得现在主流做法是啥, 但是用哈希这种不唯一的生成之后, 得做下校验吧. ps: 有没有大佬介绍下现在主流的兑换码实现方案? |
8 GensKinsey 2025 年 8 月 28 日批量生成兑换码,保存到数据库,同时兑换码本身带有部分校验逻辑(如校验位、活动标识)。核销时既能快速查表,又能做基础校验,避免误输和伪造。 |
9 Ghrhrrv146 2025 年 8 月 28 日 via iPhone存到数据库更稳妥,一则如楼上所说更安全,二则可以方便地控制兑换码,比如停用某个兑换码。你用 key 解析的话,后续想加限制就得改代码 |
10 zjyl1994 2025 年 8 月 28 日同意 8 楼说法,本身带校验位可以让你快速判断兑换码是否合法,但是实际是否有效还应该以数据库中的内容为准。 |
11 0x93ee 2025 年 8 月 28 日你有一个私钥 为了区分不同等级的兑换码,你可以拥有多个不同级别的私钥,在你的程序中内置多个不同的公钥。程序通过判断签名是哪个私钥的签名来确定这个兑换码的级别。 |
12 nuk 2025 年 8 月 28 日比如这个兑换码有 32 字节,前面 16 字节是随机数 A ,后面 16 字节 B=hash(A+C+salt1),服务器存随机数 A, 随机数 C, 验证哈希 D=hash(B+salt2) |
13 ysicing 2025 年 8 月 28 日设计比较简单,活动标识 3 位-渠道标识 3 位-10 位随机字符串 存数据库😂 |
14 LowBi 2025 年 8 月 28 日之前用 cursor 写过,提供的方案是后端数据库一个兑换码表,批量生成唯一值,哪个用户兑了就标记已兑状态,实现不难。 |
16 yunnysunny 2025 年 8 月 28 日 via Android生成 uuid 然后存库 并对字段做唯一约束 |
17 SethShi 2025 年 8 月 28 日只存数据库,不用搞什么校验位,兑换码这种功能请求量太少了,给上个索引,你数据库 CPU 都上不了 1%, |
18 opengps 2025 年 8 月 30 日用 guid 最好,注意不是 uuid ,uuid 单个位只能是 16 进制数字范围,容量比 guid 小很多 |
19 opengps 2025 年 8 月 30 日不过注意,兑换接口一定要防止穷举,错误到一定次数 ban 掉 |
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。