Generate random passwords length prefixed, with Java
The Java code described below, allows you to generate random passwords. It is possible to insert the password length using a command-line argument, or generate a default length password, such as 8 characters.
Code:
import java.util.*;
public class PasswordGenerator
{
static final String CHAR_SET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcbefghijklmnopqrstuvwxyz0123456789[]+#&£$";
public static void main(String[] args)
{
int passwordLength = 8;
if (args.length > 0) {
try {
passwordLength = Integer.parseInt(args[0]);
} catch (NumberFormatException e) { }
}
String p = RandomString(CHAR_SET, passwordLength);
System.out.println("Your password of "+passwordLength+" char is: " + p);
}
private static String RandomChars(String cs)
{
String rc = "";
int length = cs.length();
int index = (int) (Math.random() * length);
return rc + cs.charAt(index);
}
private static String RandomString(String cs, int lenght)
{
String rs = "";
for(int i=0; i<lenght; i++)
{
rs+= RandomChars( cs );
}
return rs;
}
}
Example usage:
>java -cp . PasswordGenerator
Your password of 8 char is: u[#cof9U
>Exit code: 0
>java -cp . PasswordGenerator 12
Your password of 12 char is: Af3LBRYZ41za
>Exit code: 0
>java -cp . PasswordGenerator 16
Your password of 16 char is: b3vB+NCDqo0p0Iao
>Exit code: 0
>java -cp . PasswordGenerator 18
Your password of 18 char is: Uvb7C2WP2VYUTb8AW£
>Exit code: 0