日期:2014-05-20  浏览次数:20859 次

一个随机数、加密和校验位问题
做一个系统,类似移动的充值系统,发行充值卡为系统充值;
问题:
1、有没有对移动充值卡(或类似系统)密码生成算法有了解的,基本思路即可?(这个很可能没有答案)
2、生成大量15位的由数字组成的密码,有何好的算法?
要求唯一性、确保不能根据大量实例推导出生成算法
时间+硬件信息+随机数?
3、对15位数字组成的密码进行加密保存,要求加密后位数不变,且仍然全是数字,有何好的算法?
3DES有了解的不?
4、身份证校验位算法中最后除11取余,这个11有啥讲究?

多谢

------解决方案--------------------


3、对15位数字组成的密码进行加密保存,要求加密后位数不变,且仍然全是数字,有何好的算法? 


不知道"数字"的概念是什么

这个有点类似 消息摘要,md5就是一种消息摘要的算法,他对不同长度的字符串都能产生相同长度的"字符串"(32字节),
并可以转换为16进制的一串字符串,16进制的算不算数字呢?


对安全问题了解不多,帮顶了。
------解决方案--------------------
类似移动充值卡的算法就是:那一串数(比如16位),我要验证它是不是,先只取奇数,然后把所有奇数相加为一和,然后取偶数,把偶数相加得一和,两和的绝对值的差在跟一个制定数取模 如模为预先默认的那一数,则此卡的16数为官方认可的可充值16位。我记不大清了 ,大概就是这样,希望能有帮助。
------解决方案--------------------
二叉树,每个节点随机生成一个数,生成20层,逆序取16位,不知道可不可以......
------解决方案--------------------
引用楼主 Little_qd 的帖子:
1、有没有对移动充值卡(或类似系统)密码生成算法有了解的,基本思路即可?(这个很可能没有答案)
2、生成大量15位的由数字组成的密码,有何好的算法?
要求唯一性、确保不能根据大量实例推导出生成算法
时间+硬件信息+随机数?
3、对15位数字组成的密码进行加密保存,要求加密后位数不变,且仍然全是数字,有何好的算法?
3DES有了解的不?
4、身份证校验位算法中最后除11取余,这个11有啥讲究?

------解决方案--------------------
探讨
自己随便定义一个复杂点的加密解密规则不就得了?

------解决方案--------------------
探讨
引用:
引用:
自己随便定义一个复杂点的加密解密规则不就得了?

保密性要求高的,一般都不能用自己设计算法.都是用公开算法.
看楼主的要求,肯定是用到钱的,直接涉钱的东西就很高要求了.


嗯 是与钱有关 不然费这老劲
还有就是密码要求全是数字同时又对位数有要求
继续消耗脑细胞中

------解决方案--------------------
顺便说一下,安全用的随机数要求很高的,一般的编程语言或系统自带的随机数生成器都不能满足要求。。。。就是不安全啊。。
------解决方案--------------------
要是我。就这样做。
生成1000万个guid号
每年1-6月使用前所有号中的500万个号(随机的,不重复的)。并随机生成每个号的密码(随机的,可重复的)。
6-12月使用所有号中除500万个号以外的号。并随机生成每个号的密码

随机索引到的数就是最后要用的号(如随机一个数23,那么23就是随机索引。则结果号=号数组[23])
随机索引可以使用网络上的随机数据。如google搜索随机单词生成页面中的数据。

保存密码用sha1散列。(加盐不可逆的。)
------解决方案--------------------
重要的是你数据库中有没有那个数据,是否加密我到没什么太大的概念。只要能生成随机数,ok,将它设置的长一点,将别人蒙的几率降到最低,就行了。

这几天用asp搞了个小充值系统玩的,反正也是简单,我就直接用guid生成的,从中截取了25位,就完事了。当然是因为没有纯数字的要求,所以实现比较简单。充值卡密码我就取得8位随机数,配合guid,用起来感觉还不错:)

可能更深入的我还没了解到,反正我觉得重要的是跟你数据库匹配就行。其余的就是系统自身的问题了,比如设置不能进行反复穷举的这类操作。
------解决方案--------------------
探讨
引用:


3、对15位数字组成的密码进行加密保存,要求加密后位数不变,且仍然全是数字,有何好的算法?


不知道"数字"的概念是什么

这个有点类似 消息摘要,md5就是一种消息摘要的算法,他对不同长度的字符串都能产生相同长度的"字符串"(32字节),
并可以转换为16进制的一串字符串,16进制的算不算数字呢?


对安全问题了解不多,帮顶了。


这里的数字就是长整数,现在要求不必位数一定…

------解决方案--------------------
探讨
引用:
引用:


3、对15位数字组成的密码进行加密保存,要求加密后位数不变,且仍然全是数字,有何好的算法?


不知道"数字"的概念是什么

这个有点类似 消息摘要,md5就是一种消息摘要的算法,他对不同长度的字符串都能产生相同长度的"字符串"(32字节),
并可以转换为16进制的一串字符串,16进制的算不算数字呢?


对安全问题了解不多,帮顶了。


这里的数字就是…

------解决方案--------------------

1、有没有对移动充值卡(或类似系统)密码生成算法有了解的,基本思路即可?(这个很可能没有答案) 


很简单,就是一个大的随机数,外加2-3个校验位。卡号和密码的关系在校验位里。


2、生成大量15位的由数字组成的密码,有何好的算法?