usingSystem;usingSystem.Text;namespaceRandomString{publicclassRandomString:IDisposable{// Can use the BetterRandom class here or just use the built-in System.Random class.privateBetterRandomrandom=newBetterRandom();privateconststringalpha_selection="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";privateconststringnumeric_selection="1234567890";privateconststringsymbol_selection="!£$%^&*()-+=";publicstringGenerateRandomString(){varlength=random.Next(5,15);returnGenerateRandomString(length);}publicstringGenerateRandomString(intlength,boolonlyUseAlphaNumerics=false){varalphanumeric_selection=alpha_selection+numeric_selection;varcharacterSelection=onlyUseAlphaNumerics?alphanumeric_selection:alphanumeric_selection+symbol_selection;returnGenerateRandomString(length,characterSelection);}publicstringGenerateRandomString(intlength,stringcharacterSelection){varresult=newStringBuilder();for(vari=0;i<length;i++){varchr=characterSelection.Substring(random.Next(0,characterSelection.Length),1);result.Append(chr);}returnresult.ToString();}publicstringGenerateHashString(stringstringToHash){using(varcrypto=newSystem.Security.Cryptography.SHA1CryptoServiceProvider()){returnBitConverter.ToString(crypto.ComputeHash(Encoding.Unicode.GetBytes(stringToHash))).Replace("-",string.Empty);}}publicstringGenerateRandomHashString(){returnGenerateHashString(GenerateRandomString(1024));}publicvoidDispose(){Dispose(true);}protectedvirtualvoidDispose(booldisposing){if(disposing){if(random!=null){random.Dispose();random=null;}}GC.SuppressFinalize(this);}}}
Comments (0)
HTTPSSSH
You can clone a snippet to your computer for local editing.
Learn more.