random - JAVA Can someone explain this code for me? Auto-Gen -
i found these codes online at:
http://www.java2s.com/code/java/security/generatearandomstringsuitableforuseasatemporarypassword.htm
but not sure codes' logic.
public static string generaterandompassword() { string letters = "abcdefghjkmnpqrstuvwxyzabcdefghjkmnpqrstuvwxyz23456789"; string pw = ""; (int i=0; i<password_length; i++) { int index = (int)(random.nextdouble()*letters.length()); pw += letters.substring(index, index+1); } return pw; } can explain 2 lines of codes me can understand better?
int index = (int)(random.nextdouble()*letters.length()); pw += letters.substring(index, index+1); thank you. :d
int index = (int)(random.nextdouble()*letters.length()); generates random double greater or equal 0.0 , less 1.0. multiples result length of string of acceptable letters. essentially, in these 2 steps, have number between 0 (inclusive) , total number of valid "letters", double, has decimal part. number casted int (a whole number) , saved index variable.
pw += letters.substring(index, index+1); concatenates pw substring of letters string. substring begins @ index determined line above , ends @ index + 1 (not including character @ index + 1). essentially, part makes substring of 1 character @ index determined random integer generated above. concatenates onto existing pw string.
example of steps:
int index = (int)(random.nextdouble()*letters.length());:
random.nextdouble()=> 0.51letters.length()=> 60random.nextdouble()*letters.length()=> 30.6(int)(random.nextdouble()*letters.length())=> 30
pw += letters.substring(index, index+1);:
letters.substring(index, index+1)=> "h"pw += letters.substring(index, index+1)=> "" + "h" => "h"
Comments
Post a Comment