1
2
3
4
5
6
7
8
9 package com.atlassian.core.util;
10
11 public class RandomGenerator {
12
13
14
15 public static String randomPassword() {
16 return randomString(6);
17 }
18
19
20
21
22 public static String randomString(int length) {
23 return randomString(length, true);
24 }
25
26
27
28
29 public static String randomString(int length, boolean includeNumbers) {
30 StringBuilder b = new StringBuilder(length);
31
32 for (int i = 0; i < length; i++) {
33 if (includeNumbers)
34 b.append(randomCharacter());
35 else
36 b.append(randomAlpha());
37 }
38
39 return b.toString();
40 }
41
42
43
44
45
46
47 public static char randomCharacter() {
48 int i = (int) (Math.random() * 3);
49 if (i < 2)
50 return randomAlpha();
51 else
52 return randomDigit();
53 }
54
55
56
57
58 public static char randomAlpha() {
59 int i = (int) (Math.random() * 52);
60
61 if (i > 25)
62 return (char) (97 + i - 26);
63 else
64 return (char) (65 + i);
65 }
66
67
68
69
70 public static char randomDigit() {
71 int i = (int) (Math.random() * 10);
72 return (char) (48 + i);
73 }
74 }