/*
* Copyright 2000-2013 Enonic AS
* http://www.enonic.com/license
*/
package com.enonic.cms.core.security;
import java.util.Random;
public class PasswordGenerator
{
public static String generateNewPassword()
{
return doGenerateNewPassword( 8 );
}
private static String doGenerateNewPassword( final int length )
{
final int[][] ranges = new int[3][];
ranges[0] = createIntRange( 65, 90 );
ranges[1] = createIntRange( 97, 122 );
ranges[2] = createIntRange( 49, 57 );
final Random rnd = new Random();
final StringBuffer pwd = new StringBuffer( length );
for ( int i = 0; i < length; i++ )
{
final int[] range = ranges[rnd.nextInt( 3 )];
final char pwdChar = (char) range[rnd.nextInt( range.length )];
pwd.append( pwdChar );
}
return pwd.toString();
}
private static int[] createIntRange( final int start, final int end )
{
final int length = end - start + 1;
final int[] array = new int[length];
for ( int i = 0; i <= end - start; i++ )
{
array[i] = start + i;
}
return array;
}
}