Hey Nux,

So I passed this work off to a util class that was already present in the
code base "PasswordGenerator"

    @Override
    public String generateRandomPassword() {
        Integer passwordLength =
Integer.parseInt(_configDao.getValue("vm.password.length"));
        return PasswordGenerator.generateRandomPassword(passwordLength);
    }

Not a clue why but the generateRandomPassword method creates a random
3-character string first then loops through to generate n random characters.

    public static String generateRandomPassword(int num) {
        Random r = new SecureRandom();
        StringBuilder password = new StringBuilder();

        // Generate random 3-character string with a lowercase character,
        // uppercase character, and a digit

password.append(generateLowercaseChar(r)).append(generateUppercaseChar(r)).append(generateDigit(r));

        // Generate a random n-character string with only lowercase
        // characters
        for (int i = 0; i < num; i++) {
            password.append(generateLowercaseChar(r));
        }

        return password.toString();
    }

The unit tests seem to accommodate for this aswell:

        // actual length is requested length + 3

Assert.assertTrue(PasswordGenerator.generateRandomPassword(0).length() ==
3);

Assert.assertTrue(PasswordGenerator.generateRandomPassword(1).length() ==
4);

I'm guessing there's some reasoning for this.... CCing Laszlo who according
to git log did some work on this class.

Thanks,

Ian

On 13 October 2014 19:39, Nux! <n...@li.nux.ro> wrote:

> Hello,
>
> First of all "THANKS!" to whoever made this feature happen (Ian I guess).
> Now we can set more secure passwords generated for our instances.
>
> Second, the feature works, but with a small glitch, the number seems to be
> affected by some sort of offset. I.e. if I set the password to be 15 chars
> in length then the generated password will actually be 18 chars.
> In order to get a 15 chars long passwd I had to set vm.password.length to
> 12. Bug or feature? :)
>
>
> Lucian
>
> --
> Sent from the Delta quadrant using Borg technology!
>
> Nux!
> www.nux.ro
>

Reply via email to