求序列号随机生成及验证算法!

boyard 2004-12-03 10:10:05
一、有关用户license的序列号的生成算法,一个license包括开始时间,结束时间,密码等参数,组合这些参数生成一个序列号,要有随机性,即相同的参数可以生成不同的序列号,但它们都是正确的。
二、以上生成的序列号的验证算法,把生成参数和生成的相应序列号用该算法进行验证,参数和序列号中的任一个的任部分发生了改变,算法都会输出错误结果。

大虾们,有什么具体做法,给个方法提示或是想法!
...全文
548 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
boyard 2004-12-14
  • 打赏
  • 举报
回复
给个自己的方法:
把license看作一个对象,建一个license的类,其属性有用户名、生成的信息摘要、开始时间和结束时间,还可以定义若干的method。把生成的license对象放到数组列表中。进行用户身份认证时,根据用输入的用户名,用SHA-1或MD5生成信息摘要,与利用类method方法从ArrayList中取出的该用户名的信息摘要比较,如果相同则该用户身份合法,否则不合法。另外,由用户的登录时间进行有效期的判断。
boyard 2004-12-09
  • 打赏
  • 举报
回复
楼上的,玩笑了。
mxfeng 2004-12-09
  • 打赏
  • 举报
回复
机枪兵又扎兴奋剂了,呵呵
捏造的信仰 2004-12-05
  • 打赏
  • 举报
回复
比方用户输入序列号每一位在User[]中

int counter = 0;
for(i=0;i<10;i++)
counter += User[i];
if (counter != 65)
printf("你他妈这什么序列号啊,没钱买就滚!")
NowCan 2004-12-03
  • 打赏
  • 举报
回复
去www.pediy.com看
eion 2004-12-03
  • 打赏
  • 举报
回复
根据你的要求,可以参考下的一些内容:
一、随机数的生产,可以参考Windows下的GUID的生成
二、你需要一个摘要生成算法,即给定一组数据,输出一个定长的数据,然后对后面的定长数据进行加密(密钥你自己掌握),最简单的摘要算法就是CRC校验
三、需要一个加密算法,如果一般使用可以使用对称密钥,如果要求很严就需要使用非对称密钥
四、如果有兴趣可以与我联系eion_don@china.com
boyard 2004-12-03
  • 打赏
  • 举报
回复
TO galois_godel():
还请给出具体做法,或告知哪里可以找到相关资料。
thx
galois_godel 2004-12-03
  • 打赏
  • 举报
回复
这不是是有很多做法嘛,你只要保证不同参数产生的序列号集合不交叉就可以了嘛
boyard 2004-12-03
  • 打赏
  • 举报
回复
多谢楼上的,先动动手再说。

33,027

社区成员

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

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