如何实现这样的充值卡需求:用户只需要输入「充值卡密」(全数字)然后提交就可以完成充值流程,需要考虑对应的安全策略。

2014-06-26 12:23:16 +08:00
 aurorawu
初步想法:首先生成一批随机数字的字符串(长度不超过12个数字),然后给字符串添加充值卡的面值信息,整个充值卡密长度为16个数字,长度不足的话随机补0-9的数字,然后剔除重复的。最后将不重复的充值卡密保存到数据库。

安全策略方面:如果计划制卡1万张,则生成10万个卡密。如果用户短时间内连续三次提交的卡密错误,则在一段时间内禁止用户提交卡密充值;如果用户提交卡密错误的次数累计超过十次,则禁止该用户使用充值卡。

有考虑不周全的地方希望大家给些建议,回复必感谢。
3210 次点击
所在节点    程序员
1 条回复
lijun20020229
2014-06-26 14:17:57 +08:00
可以是(随机数字 + 面值信息 + 校验码)
校验码是 加密函数(随机数字+面值信息)
加密函数举个例子某个哈希函数(如果自己弄一个更安全)
然后可以通过验证校验码来验证真伪
如果加密方法保密能提高一定安全性

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/119623

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX