CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  图形处理/算法

探讨:随机数生成算法

楼主common_man(吾与点也)2002-10-04 10:57:03 在 VC/MFC / 图形处理/算法 提问

本人在开发一个网站,其中要求给想加入该网络的客户返回一个密码,由于涉及到商业利益,返回的密码不能有重复,还要能抵挡一定程度的攻击。虽然有现成的随机数生成函数,但那产生的只是伪随机数,远远不能满足要求;另外一方面,RSA,DES的实现又有一定的困难,大家一起来讨论讨论吧,也许能给我一定启发,在此先谢谢各位了!! 问题点数:100、回复次数:19Top

1 楼kwiner(ak.net)回复于 2002-10-04 10:58:36 得分 0

去www.google.com  
  或www.yahoo.com.cn  
   
  搜一下,很多的Top

2 楼afc(afc)回复于 2002-10-04 11:03:49 得分 0

RSA,DES的实现有什么困难?Top

3 楼common_man(吾与点也)回复于 2002-10-04 11:07:15 得分 0

我已搜索过了,没什么有价值的信息。  
  RSA,DES的资料只有教材上的描述而已,没有什么实际的指导意义。Top

4 楼common_man(吾与点也)回复于 2002-10-04 11:24:37 得分 0

好冷啊!Top

5 楼tigerfox(风之力:=Doing.浪淘沙)回复于 2002-10-04 11:32:33 得分 0

我不会,帮你UP吧Top

6 楼afc(afc)回复于 2002-10-04 11:34:02 得分 0

搜索RSA   EURO可以得到RSA,DES,SHS,MD5等算法的C语言源代码Top

7 楼boyfling(GGS)回复于 2002-10-04 11:51:36 得分 0

找本密码学的书来看看Top

8 楼common_man(吾与点也)回复于 2002-10-04 17:18:11 得分 0

我去搜搜看Top

9 楼COOL_Fire_(墨子门徒)回复于 2002-10-04 17:47:09 得分 10

以本地系统时间(至少秒级,最好精确到毫秒)为seed得到的随机数不行吗?  
   
   
  Top

10 楼stonespace(stonespace)回复于 2002-10-04 18:01:29 得分 20

用md5算法可以产生128位的伪随即数序列,md5散列得很均匀,发生重复的概率极低。  
  Top

11 楼common_man(吾与点也)回复于 2002-10-08 09:54:15 得分 0

大家都来讨论一下吧!!Top

12 楼phoenixzz(小百货)回复于 2002-10-17 20:16:24 得分 0

upTop

13 楼coppermine(coppermine)回复于 2002-10-17 22:07:14 得分 0

用cocreateguid生成一个guid,128位,不会重复Top

14 楼JennyVenus()回复于 2002-10-18 10:41:10 得分 20

首先听   stonespace(stonespace)   的  
  用md5算法可以产生128位的伪随即数序列,md5散列得很均匀,发生重复的概率极低。  
   
  然后再添加一个时间(这个应该不重复吧)  
   
  还应该利用数据库进行重复检验Top

15 楼stonespace(stonespace)回复于 2002-10-18 10:52:27 得分 20

其实又一个极其简单的方法,保证绝对不重复,用一个简单的计数器,每分配一个密码给用户,计数器加一。  
   
  可以把计数器的值直接作为密码给用户。如果嫌攻击者可以猜到密码的范围,可以用计数器的值合并系统时间得到128位数据,然后用des算法加密一次,加密结果作为密码提供给用户,攻击者就无法猜到密码的范围。但是前提是攻击者不知道des加密的密钥。  
   
  Top

16 楼blackcrusoe(亚历山大)回复于 2002-10-22 12:53:24 得分 0

用斐波那契数列生成伪随机数。Top

17 楼phoenixzz(小百货)回复于 2002-10-22 17:08:58 得分 0

stonespace(stonespace)的方法比较可取。Top

18 楼Raceman35(云卷云舒)回复于 2002-11-01 12:06:44 得分 10

偶数位用伪随机数  
  奇数位维持一个计数器  
  密码奇偶位拼合  
  Top

19 楼iicup(双杯献酒)回复于 2002-11-01 12:21:43 得分 20

“产生密码”和“使用密码加密”  
  完全是两回事情。  
  您到底要问哪一个呢?  
  (1)“产生密码”只要生成一个随机数就可以了。  
  随机数不会要求不重复,因为您还有唯一的用户名和密码一起验证。  
  您可能会想到:  
  呕~~会不会因为有相等的密码导致.......  
  那么,您就又会要求:  
  这个随机数不能是   1,否则....  
  这个随机数也不能是   2,否则....  
  这个随机数也不能是   3,否则....  
  ......         ;)  
  所以,避免重复是不必要的。  
   
  (2)如果您要“用密码加密”  
  我现在假定你已经有了一个随机(别人无法猜到)的密码。  
  您可以使用DES   RAS等标准的实现方法。  
  看一看API中以Cryp开头的函数,或许对您有帮助.  
  网络上也有源代码。  
  Top

相关问题

  • 求生成随机数的算法
  • 寻求好的生成随机数的算法!!
  • 有没有非常好的随机数生成的算法
  • 一个有关随机数生成的算法问题?
  • 生成随机数
  • 如何生成随机数?
  • 如何生成随机数?
  • 生成4位随机数
  • 用vba生成随机数
  • VB和VBScript中的伪随机数列的生成算法在不同版本中相同吗?

关键词

  • 密码
  • 算法
  • 计数器
  • 加密
  • rsa
  • 用户
  • 随机数
  • stonespace
  • 攻击者
  • 重复

得分解答快速导航

  • 帖主:common_man
  • COOL_Fire_
  • stonespace
  • JennyVenus
  • stonespace
  • Raceman35
  • iicup

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo