首页
论坛
图书
开发资料
在线文档
网址
下载
联系我们
 新闻│Java│JavaScript│Eclipse│Eclipse 英文│J2EE│J2ME│J2SE│JSP│Netbeans│Hibernate│JBuilder│Spring│Struts
站内搜索: 请输入搜索关键词

当前页面: 开发资料首页 → Java 专题 → 自动生成由a-z,A-Z,0-9组成的八位随机密码

自动生成由a-z,A-Z,0-9组成的八位随机密码

摘要: 自动生成由a-z,A-Z,0-9组成的八位随机密码

</td> </tr> <tr> <td height="35" valign="top" class="ArticleTeitle"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="297" height="86" align="center" valign="top"> </td> <td width="387" valign="top">

package com.seave;

import java.util.ArrayList;
import java.util.Random;

/**
* @author Seave
* date 2005-12-09 17:28
* 自动生成由a-z,A-Z,0-9组成的八位随机密码
*
*/
public class TestRandom {
private static Random random = new Random();
private static final int length = 8;
private static String value = "a-zA-Z0-9";
private static ArrayList lower = null;
private static ArrayList upper = null;

</td></tr> </table>

public static void main(String[] args)
{
getRandom();
}

private static final float getFloat() {
return random.nextFloat();
}

private static final String getRandom(){
TestRandom thisc = new TestRandom();
thisc.setCharset();
String randomstr = "";
try {
//建立一个random字符串
for (int i = 0; i < length; i++) {
// 取得随机偶数和随机奇数
if (((int) (getFloat() * 100)) % 2 == 0) {
randomstr = randomstr + randomChar((Character)lower.get(2),(Character)upper.get(2)).toString();

} else {
if (((int) (getFloat() * 100)) % 2 == 0) {
randomstr = randomstr + randomChar((Character)lower.get(1),(Character)upper.get(1)).toString();
} else
randomstr = randomstr + randomChar((Character)lower.get(0),(Character)upper.get(0)).toString();
}
}

System.out.println(randomstr);

} catch(Exception e) {
e.printStackTrace();
}
return randomstr;
}

private static final Character randomChar(Character lower, Character upper) {
int tempval;
char low = lower.charValue();
char up = upper.charValue();

tempval = (int)((int)low + (getFloat() * ((int)(up - low))));

return (new Character((char) tempval));
}

public final void setCharset()
{
System.out.println("start setCharset ...");
boolean more = true;

lower = new ArrayList(3);
upper = new ArrayList(3);
if ((value.charAt(1) == '-') && (value.charAt(0) != '\\')) {

while (more && (value.charAt(1) == '-')){

if (value.charAt(0) == '\\')
break;
else {

lower.add(new Character(value.charAt(0)));
upper.add(new Character(value.charAt(2)));
}

if (value.length() <= 3) {
more = false;
}else{
value = value.substring(3);
}
}
}
if ((lower == null))
setCharset();
}
}

程序运行结果:


C:\java>java TestRandom
start setCharset ...
Q3p50151

C:\java>


</td> </tr> <tr>


↑返回目录
前一篇: 自己实现ORM
后一篇: 1M内存可用来缓存多少对象?

首页 | 全站 Sitemap | 联系我们 | 设为首页 | 收藏本站
版权所有 Copyright © 2006-2007, Java 编程资料牛鼻站, All rights reserved