1.可以产生10000000 和 99999999之间随机数
2.可以产生规定数字之间的随机数,如25 100之间
3.可以使用algorithm 和 provider产生一个SecureRandom随机数字或字符串
object instead of a Random object: 71
4.可以产生浮点浮点随机数;
5.可以产生a-zA-Z0-9之间的规定长度个字符串
6.可以产生规定长度的小写字母字符串
7.可以产生任意字符串.
以下jsp bean 在Tomcat Win2000 下调试通过:
1
随机字符串bean
1
package mycollect;
2
3
import java.util.*;
4
import java.security.SecureRandom;
5
import java.security.NoSuchAlgorithmException;
6
import java.security.NoSuchProviderException;
7
8
JSP调用语句:2
3
4
5
6
7
8
1
<%@ page contentType="text/html;charset=ISO8859_1" %>
2
<%@ page import="java.util.*" %>
3
<jsp:useBean id="RNUM" scope="page" class="mycollect.RandomNum" />
4
<jsp:useBean id="RSTR" scope="page" class="mycollect.RandomStrg" />
5
6
<html>
7
<head>
8
<title>随机数字 浮点数 字符串</title>
9
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
10
</head>
11
12
<body>
13
<h3>随机数字 浮点数 字符串</h3>
14
<%
15
//Random generator = new Random();
16
//int limit = 10;
17
//int randomNumber = (int)(generator.nextDouble() * limit);
18
19
20
out.println("<p>创建在10000000 和 99999999之间的随机数:");
21
RNUM.setRange("10000000-99999999");
22
RNUM.generateRandomObject();
23
out.println("<b>"+RNUM.getRandom().intValue()+"</b>");
24
25
out.println("<p>在n 25 和 100之间创建一个随机数:");
26
RNUM.setRange("25-100");
27
RNUM.generateRandomObject();
28
out.println("<b>"+RNUM.getRandom().intValue()+"</b>");
29
30
%>
31
<p>Create the same random number between 25 and 100, only use the <br>
32
algorithm and provider attributes to indicate the use of a SecureRandom<br>
33
object instead of a Random object:
34
<%
35
RNUM.setRange("25-100");
36
RNUM.setAlgorithm("SHA1PRNG");
37
RNUM.setProvider("SUN");
38
RNUM.generateRandomObject();
39
out.println("<b>"+RNUM.getRandom().intValue()+"</b>");
40
41
out.println("<p>Create a random float value:");
42
RNUM.setRange("0-1");
43
RNUM.generateRandomObject();
44
String radio= new java.text.DecimalFormat("###.##########").format(RNUM.getRandom());
45
out.println("<b>"+radio+"</b>");
46
47
out.println("<p>===========================================");
48
49
out.println("<p>在a-zA-Z0-9之间,也就是数字和26个字母混合的随机字符串,(欠缺是8位,该功能适合创建随机密码和sessionid)");
50
RSTR.setCharset("a-zA-Z0-9");
51
RSTR.generateRandomObject();
52
out.println("<b>"+RSTR.getRandom()+"</b>");
53
54
55
out.println("<p>Create a random string 15 lowercase letters long:");
56
RSTR.setCharset("a-z");
57
RSTR.setLength("15");
58
RSTR.generateRandomObject();
59
out.println("<b>"+RSTR.getRandom()+"</b>");
60
61
out.println("<p>Create a random string with only caps:");
62
RSTR.setCharset("A-Z");
63
RSTR.generateRandomObject();
64
out.println("<b>"+RSTR.getRandom()+"</b>");
65
66
out.println("<p>Create a random string 10 characters long with the charset a-fF-K ! \\ $ % # ^ - * ? notice that the - and had to be escaped with a :");
67
RSTR.setCharset("a-fF-K!\\$%#^-*?");
68
RSTR.setLength("10");
69
RSTR.generateRandomObject();
70
out.println("<b>"+RSTR.getRandom()+"</b>");
71
72
73
out.println("<p>Create a random string of all the characters and digits:");
74
RSTR.setCharset("all");
75
RSTR.generateRandomObject();
76
out.println("<b>"+RSTR.getRandom()+" </b>");
77
78
%><p>
79
Create the same random string of all the characters and digits, only use<br>
80
the algorithm and provider attributes to indicate the use of a SecureRandom<br>
81
object instead of a Random object:
82
<%
83
RSTR.setCharset("all");
84
RSTR.setAlgorithm("SHA1PRNG");
85
RSTR.setProvider("SUN");
86
RSTR.generateRandomObject();
87
out.println("<b>"+RSTR.getRandom()+"</b>");
88
89
%>
90
91
</body>
92
</html>
93
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93