请教下充值卡的序列号设计算法

AKULAKK 2009-02-11 05:15:20
知道的朋友说说
一家公司推出自己的盈利业务,需要派发充值卡,序列号是自己的.
算法A可以生成很无数,具有唯一性,但是又知道肯定是算法A生成的.
同时要保证该算法设计的绝对可靠性,同时考虑到将来的算法泄露以及升级.
这个怎么设计啊?就各位知道的,说说思路呢?
先给100分了
...全文
508 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
familyrobot 2009-06-29
  • 打赏
  • 举报
回复
充值卡要求生成的序列号是全数字的,MD5不能做到吧!
手机充值如何输入ABCD?
AKULAKK 2009-02-12
  • 打赏
  • 举报
回复
恩 大概思路是清楚了 有没有更详细的呢?
能提供相关资料就好了 呵呵
hityct1 2009-02-12
  • 打赏
  • 举报
回复
mark
绿色夹克衫 2009-02-12
  • 打赏
  • 举报
回复
可以用多套密钥混合在一起算,除非全部泄露了,才有可能仿造。
类似于需要凑齐3把钥匙才能开锁。

中国移动不可能只有一套密钥,因为各地移动并不完全属于总公司,
每个分公司都有自己做卡的权利,因此统一管理并不容易

另外还需要在数据库中保存一套,即使通过了第一步的验证,
还需要从数据库中能够找到该记录才可以。因此前16位也需要散列,不能是连续的,这样就不容易猜到。

[Quote=引用 2 楼 kkun 的回复:]
恩你的思路我大概清楚了
但是万一密钥泄露呢...
比如手机充值卡 ,难道中国移动就只有1套密钥吗?万一泄露了呢?
[/Quote]
suilj 2009-02-11
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 kkun 的回复:]
恩你的思路我大概清楚了
但是万一密钥泄露呢...
比如手机充值卡 ,难道中国移动就只有1套密钥吗?万一泄露了呢?
[/Quote]

这就不是技术问题了
test4ever 2009-02-11
  • 打赏
  • 举报
回复
这个不仅仅是密匙的复杂程度,
还有程序本身对反破解的能力

这个是个很大的话题,虽然很感兴趣,不过不是很懂,
棒頂吧
AKULAKK 2009-02-11
  • 打赏
  • 举报
回复
恩你的思路我大概清楚了
但是万一密钥泄露呢...
比如手机充值卡 ,难道中国移动就只有1套密钥吗?万一泄露了呢?
绿色夹克衫 2009-02-11
  • 打赏
  • 举报
回复
用类似MD5的算法就可以,只要秘钥不泄露就行,
比如序列号长度共32个中英文,前16个相当于原始串,对前16个混合一个秘钥进行MD5计算后得出后16个,
只要秘钥不外泄,算法公开都可以。

如果担心MD5遭破解,可以换成别的更复杂的!

33,027

社区成员

发帖
与我相关
我的任务
社区描述
数据结构与算法相关内容讨论专区
社区管理员
  • 数据结构与算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧