Password Generator

From Second Life Wiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

I'm new at contributing content to the wiki, so if I did something wrong, feel free to fix it.

//              The most pointless code ever. Completely over-done for such a simple purpose.
//              Syntrax Canucci
//              Attribution — You must attribute the work in the manner specified by the author 
//              or licensor (but not in any way that suggests that they endorse you or your use of the work).
//              Noncommercial — You may not use this work for commercial purposes.
//              Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting 
//              work only under the same or similar license to this one.
//              http://creativecommons.org/licenses/by-nc-sa/3.0/


list gChars = ["A","B","C","D","E","F","G","H","I","J",
               "K","L","M","N","O","P","Q","R","S","T",
               "U","V","W","X","Y","Z","-","1","2","3",
               "4","5","6","7","8","9","0","-","!","@",
               "#","$","%","^","&","*","(",")","~","_"];
string gPassword;
BuildPassword(){
    integer i;
    integer nLength = llRound(llFrand(20)+5);
    llSetText("Building password...",<1,1,1>,1);
    while(llStringLength(gPassword) < nLength){
        i = llRound(llFrand(1));
        if(i == 1){gPassword = gPassword+llToLower(llList2String(gChars,llRound(llFrand(llGetListLength(gChars)))));}
        else{gPassword = gPassword+llToUpper(llList2String(gChars,llRound(llFrand(llGetListLength(gChars)))));}
    }
    integer churn;
    for(churn=0;churn<5;churn++){ gPassword = gPassword + llStringToBase64(gPassword);}
    gPassword = llStringToBase64(gPassword);
    while(llStringLength(gPassword) > llRound(llFrand(20))){
        integer cut = llRound(llFrand(llStringLength(gPassword)/2));
        gPassword = llDeleteSubString(gPassword,cut,cut+llRound(llFrand(5)));
    }
    list slice;
    while(llStringLength(gPassword) > 0){
        slice = slice+llGetSubString(gPassword,0,0);
        gPassword = llDeleteSubString(gPassword,0,0);
    }
    gPassword = llDumpList2String(llListRandomize(slice,1),"");
    llSetText((string)llStringLength(gPassword)+" characters long\n"+gPassword,<1,1,1>,1);llSay(0,gPassword);gPassword="";
}
default{
   touch_start(integer r){BuildPassword();}
}

This does the same thing, just with some extra steps for more randomizing, it also displays what it has built, and what it is building from. I like it better. =D Password Generator 2.0

//              The most pointless code ever. Completely over-done for such a simple purpose.
//              Syntrax Canucci
//              Attribution — You must attribute the work in the manner specified by the author 
//              or licensor (but not in any way that suggests that they endorse you or your use of the work).
//              Noncommercial — You may not use this work for commercial purposes.
//              Share Alike — If you alter, transform, or build upon this work, you may distribute the resulting 
//              work only under the same or similar license to this one.
//              http://creativecommons.org/licenses/by-nc-sa/3.0/

list gChars = ["A","B","C","D","E","F","G","H","I","J",
               "K","L","M","N","O","P","Q","R","S","T",
               "U","V","W","X","Y","Z","-","1","2","3",
               "4","5","6","7","8","9","0","-","!","@",
               "#","$","%","^","&","*","(",")","~","_"];
list gSlice;
string gPassword;
Text(){llSetText("Building Password...\nCurrent State:\n["+llDumpList2String(gSlice,"],[")+"]\n"+gPassword,<1,1,1>,1);}
BuildPassword(){
    integer i;
    integer nLength = llRound(llFrand(20)+5);
    while(llStringLength(gPassword) < nLength){
        i = llRound(llFrand(1));
        if(i == 1){gPassword = gPassword+llToLower(llList2String(gChars,llRound(llFrand(llGetListLength(gChars)))));}
        else{gPassword = gPassword+llToUpper(llList2String(gChars,llRound(llFrand(llGetListLength(gChars)))));}
        Text();
    }
    integer churn;
    for(churn=0;churn<5;churn++){gPassword = gPassword + llStringToBase64(gPassword);Text();}
    gPassword = llStringToBase64(gPassword);
    while(llStringLength(gPassword) > llRound(llFrand(20))){
        integer cut = llRound(llFrand(llStringLength(gPassword)/2));
        gPassword = llDeleteSubString(gPassword,cut,cut+llRound(llFrand(5)));
        Text();
    }
    gSlice = [];
    while(llStringLength(gPassword) > 0){gSlice = gSlice+llGetSubString(gPassword,0,0);gPassword = llDeleteSubString(gPassword,0,0);Text();}
    gPassword = llStringToBase64(llDumpList2String(llListRandomize(llListRandomize(llListRandomize(gSlice,1),1),1),""));
    while(llStringLength(gPassword) > llRound(llFrand(20))){
        integer cut = llRound(llFrand(llStringLength(gPassword)/2));
        gPassword = llDeleteSubString(gPassword,cut,cut+llRound(llFrand(5)));
        Text();
    }
    gSlice=[];
    while(llStringLength(gPassword) > 0){gSlice = gSlice+llGetSubString(gPassword,0,0);gPassword = llDeleteSubString(gPassword,0,0);Text();}
    gPassword = llDumpList2String(llListRandomize(gSlice,1),"");
    llSetText((string)llStringLength(gPassword)+" characters long\n"+gPassword,<1,1,1>,1);llSay(0,gPassword);gPassword="";
}
default{
   touch_start(integer r){BuildPassword();}
}