`
phoenix007
  • 浏览: 436145 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

一个关于随机密码的问题

J# 
阅读更多

下边是一个生成随机密码的代码, 在main函数中,用循环生成10个不一样的随机密码,可不知道为什么,生成的随机密码都是一样的,但是加上个循环,使时间间隔大一点就能得到不同的。 其实用Math.random() 就能达到理想效果。下边是代码:

package test;

import java.util.Random;

public class RandomPassword {

	public static void main(String[] args) {       
		int i = 0;
       while (i < 10)  
       {
    	   System.out.println(getRandomString(8));
    	   System.out.println(getRandomPassword(8));
   /*      for (int j=0;j<10000;j++)
    	   {
        	   for (int jj=0;jj<10000;jj++)
        	   {      		   
        	   }
    	   }
    */
    	   i++;
       }
	}
	/*
    * 生成随机密码
    * @param length
    * @return
    */
	
   public static String getRandomString(int length) { 
       StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyz"); 
       StringBuffer sb = new StringBuffer(); 
       Random r = new Random(); 
       int range = buffer.length(); 
       for (int i = 0; i < length; i ++) { 
           sb.append(buffer.charAt(r.nextInt(range))); 
       } 
       return sb.toString(); 
   } 
 
   public static String getRandomPassword(int length) { 
       StringBuffer buffer = new StringBuffer("0123456789abcdefghijklmnopqrstuvwxyz"); 
       StringBuffer sb = new StringBuffer(); 
       
       int range = buffer.length(); 
       for (int i = 0; i < length; i ++) { 
           sb.append(buffer.charAt((int)(Math.random()* range))); 
       } 
       return sb.toString(); 
   }
}

 下边是运行的结果:

9nccokdd
0atj3q71
9nccokdd
x8y8kery
9nccokdd
4ow4yqez
9nccokdd
kyil9uzf
9nccokdd
lhzwncyi
9nccokdd
31d6zzod
9nccokdd
g4jtg2cl
9nccokdd
6hxnu5nd
9nccokdd
9ivpubzg
9nccokdd
5cns7f6l

 

 

2
1
分享到:
评论
5 楼 Jathon_hs 2008-10-17  
好像rondom跟时间有关。
4 楼 phoenix007 2008-10-15  
xxrrss 写道

这个问题,你Debug一次看看为什么相同应该没有问题!

debug 的时候有点奇怪,密码就不一样了, 现在想来,debug时,生成的密码之间的时间间隔大有关系。
3 楼 shmilyltting 2008-10-13  
我试过了,应该没有问题啊!
2 楼 phoenix007 2008-10-13  
跟时间有关系吧。修改了一下循环代码,达到理想效果了。
       while (i < 10)  
       {
    	   System.out.println(getRandomNum(8));
    	   for (int j=0;j<10000;j++)
    	   {
        	     for (int jj=0;jj<10000;jj++)
        	     {	   
        	     }
    	   }
    	   i++;
       }


1 楼 xxrrss 2008-10-13  
这个问题,你Debug一次看看为什么相同应该没有问题!

相关推荐

    批处理生成随机密码存于文本文件中

    根据描述,这些密码至少包含一个大写字母、一个小写字母和一个数字,这样的设计可以确保密码有一定的复杂性,从而增加安全性。生成的密码长度可以根据用户需求定制,这通过命令行参数或者交互式输入实现,提供了很大...

    java生成随机密码

    本文将详细介绍如何利用Java编写一个简单的随机密码生成器,并深入探讨其背后的原理与优化方法。 #### 二、代码解析 ##### 1. 方法定义 ```java /** * 生成随机密码 * @param length 密码长度 * @return 生成的...

    随机密码生成器

    随风随机密码生成器是一个简单的随机密码生成工具。 随风随机密码生成器使用说明: 1.密码可以是“数字,字母,符号”任意组合 2.可生成5到100位密码!满足大多应用!可以选加Id! 3.可一次生成999万个密码!生成...

    随机密码.bat

    密码设置困难,又怕个人密码带有个人印记容易被破解,于是写了个脚本生成一个任意位的随机密码字母大小写+数字 利用计算机计划任务定时执行做到密码每天一换,确保安全性,并利用脚本调用数据库存储密码在服务器,...

    易语言时间随机密码

    易语言是一种专为中国人设计的编程语言,它以简体中文...总的来说,"易语言时间随机密码"项目为我们提供了一个了解和实践易语言编程、时间密码生成技术的平台,无论是对初学者还是有经验的开发者,都有很高的学习价值。

    一款自定义密码长度字母数字特殊符号组合的随机密码生成软件.exe

    一款自定义密码长度字母数字特殊符号组合的随机密码生成软件,随机字符、随机数字、随机密码生成工具高强度随机密码生成器:可自定义生成随机数字、大小写字母、特殊字符的随机密码生成工具随机字符生成器:支持纯...

    Go-Opensesame一个简单的密码生成器密码保证随机

    Go-Opensesame是一个用Go语言编写的简单密码生成器,它的主要目的是确保生成的密码具有足够的随机性和复杂性,从而提高账户的安全性。Go语言由于其高效、并发能力强以及内置的安全特性,被广泛用于开发安全相关的...

    ios的随机密码生成器,支持密码的本地于服务器存储

    标题中的“ios的随机密码生成器,支持密码的本地与服务器存储”表明这是一个iOS应用程序,其主要功能是生成随机密码,并且具备将这些密码安全地存储在设备本地以及云端的能力。这样的应用通常是为了帮助用户创建强...

    用JAVA 实现随机密码

    本篇文章将深入探讨如何使用Java编程语言来创建一个随机密码生成器。Java是一种广泛使用的面向对象的编程语言,它提供了丰富的库和功能,非常适合进行这样的任务。 首先,我们需要了解随机密码的基本要素。一个强大...

    MATLAB实现随机密码生成器

    在本文中,我们将深入探讨如何使用MATLAB来实现一个随机密码生成器。MATLAB是一种强大的数值计算和编程环境,它提供了丰富的数学函数和便捷的编程语法,使得开发这样的工具变得简单而高效。 首先,让我们来看一下`...

    2024高安全个人密码本程序源码 可生成随机密码/备忘录/二代密码

    总的来说,“2024高安全个人密码本程序”通过集成强大的密码管理、随机密码生成、备忘录以及二代密码管理,构建了一个全方位的个人安全信息库。源码的开放性也让用户可以根据自己的需求进行定制,确保软件更符合个人...

    随风随机密码生成器(可一次生成999万个密码)

    闲暇时,做了个随机密码生成工具,欢迎使用! 以下是简单说明: 1.密码可以是“数字,字母,符号”任意组合! 2.可生成5到100位密码!满足大多应用!可以选加Id! 3.可一次生成999万个密码!生成速度于电脑配置...

    Go-noPassword一个密码生成器用于生成随机字符密码使用golang编写

    一个密码生成器,用于生成随机字符密码,使用golang编写,可生成多平台二进制可执行程序

    生成随机密码密钥

    随机密码是由一系列不可预测的字符组成的,这些字符可能包括大小写字母、数字和特殊字符。其目的是增加破解的难度,保护用户的账户安全。在编程中,通常会使用随机数生成器来创建这些密码,例如Java的`java.util....

    java随机密码生成器 源代码

    该代码可以生成一个大写字母+2个小写字母+6个数字+3个特殊字符的随机密码。Windows下运行参考:https://blog.csdn.net/u011177600/article/details/79520285

    VC 生成随机密码.rar

    在这个场景下,"VC 生成随机密码.rar" 提供了一个基于Visual C++(VC)的解决方案,用于按照预设规则批量生成随机密码。这个程序允许用户自定义密码的构成规则,如包含数字与字符的混合、仅包含字符、设定密码长度等...

    VBS随机生成密码【原创】

    在这个特定的场景中,我们讨论的是一个使用VBS编写的程序,其功能是生成随机密码。随机密码生成对于网络安全和个人隐私保护至关重要,特别是在创建强密码时。 在VBS中实现随机密码生成,主要涉及以下知识点: 1. *...

    伪随机密码生成器 源代码 密码管家

    和同学设计了一个生成伪随机密码的思路,与大家分享。 设计宗旨 1,不同网站不同账号对应的注册密码不同; 2,只需记住一个较长的种子; 3,一个网站数据泄露,不会被推出其它网站密码。 由1和2得出:密码是{...

    易语言取随机密码

    易语言取随机密码源码,取随机密码,公用接口_寻找文件扩展,公用接口_复制目录,公用接口_数组到表格,公用接口_生成编号,公用接口_生成密码_初级版,公用接口_生成密码_中级版,公用接口_时间到文本,子程序_补位,公用接口...

Global site tag (gtag.js) - Google Analytics