Difference between revisions of "Random Password Generator"

From Second Life Wiki
Jump to navigation Jump to search
(fixed wrong interpretation of llFrand)
m (<lsl> tag to <source>)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Code:
Code:
<lsl>
<source lang="lsl2">
// Generate Passwords based on String length
// Generate Passwords based on String length
// Free to use, share and remix.
// Free to use, share and remix.
Line 6: Line 6:
string randomPassword(integer length)
string randomPassword(integer length)
{
{
     string characters = "abcdefghijkmnopqrstuvwxyz234567890";
     string CharSet = "abcdefghijkmnpqrstuvwxyz23456789";   // omitting confusable characters
     string passwordToBeReturned;
     string password;
    integer CharSetLen = llStringLength(CharSet);
    // Note: We do NOT add 1 to the length, because the range we want from llFrand() is 0 to length-1 inclusive


     while(llStringLength(rPass) < length)
     while (length--)
     {
     {    
        // because llFrand is [0, mag)
         integer rand = (integer) llFrand(CharSetLen);
         integer upperLimit = llStringLength(letters) + 1;
         password += llGetSubString(CharSet, rand, rand);
        integer rand = llFloor(llFrand(upperLimit));
 
         passwordToBeReturned += llGetSubString(letters, rand, rand);
     }
     }
 
     return password;
     return passwordToBeReturned;
}
}
   
   
default
default
{
{
     state_entry()
     touch_start(integer num)
     {
     {
        // PUBLIC_CHANNEL has the integer value 0
         llSay(0, randomPassword(10));
         llSay(PUBLIC_CHANNEL, randomPassword(10));
     }
     }
}
}
</lsl>
</source>

Latest revision as of 08:44, 25 January 2015

Code:

// Generate Passwords based on String length
// Free to use, share and remix.

string randomPassword(integer length)
{
    string CharSet = "abcdefghijkmnpqrstuvwxyz23456789";    // omitting confusable characters
    string password;
    integer CharSetLen = llStringLength(CharSet);
    // Note: We do NOT add 1 to the length, because the range we want from llFrand() is 0 to length-1 inclusive

    while (length--)
    {     
        integer rand = (integer) llFrand(CharSetLen);
        password += llGetSubString(CharSet, rand, rand);
    }
    return password;
}
 
default
{
    touch_start(integer num)
    {
        llSay(0, randomPassword(10));
    }
}