random string generator
ok, it's just "pseudo"-random…

One is often in need of random numbers, strings and stuff for passwords and all kinds of other things where some Copy&Paste random data is helpful. While this pseudo random string generator certainly does not fulfill the theoretical requirements for true randomness, it served 99.9% of my purposes. If you require a better level of randomness, check out random.org, however, I do use a rather non-trivial seed method for the random number generator which is not based on the usual microtime() stuff for the obvious theoretical problems this has.
Numbers (0–9) • 10 choices:
1274683709642363395678060853077245716091389567510214526050767915939929944894505630739402569331568747995695921103184053200671639027242827883400162459686652953360269023389727168923164108136315493697973377213238060640390905210100023846384815413099211867670439673273662622347033853897021452467551753296241614647418257994667942395695233042555108394969351217004591488101134272085361716524458742318667145948195124501870202602693410851738578589308064038482583356746194017042398924743067897587036093841391884621932449537835865766080309316677294836791538414233474839255136473534799405048233615919679220358787897803701781557054099984377040193222337034306059584276370277825645287132264189417428718732399554239126256028987612814162966011835029458425667520776008694207490019701960632704401967691319950106144859546627486047854961585484572353111560473260669793557332662074251909457091457000330718857427272409009875002850052202989187256789755425329253028766947401651196040302891328755164208518326347699710369645374161
Character count: 109•'0', 93•'1', 100•'2', 105•'3', 100•'4', 98•'5', 103•'6', 103•'7', 86•'8', 103•'9'
Distribution info: E = 100, Omin = 86, Omax = 109, spread = 23, χ² = 3.82
Password safety: log2(10) = 3.322 bpc - 256 bit require 78 characters / 20 chars contain 67 bits of data
Letters (a–z) • 26 choices:
cgqbiajximykyrkwhlcaezcawytoivajrgaiqgqordeemhefitfpvgqmfnjledfyqzausmlqnbbvtydlhkxgspzcisockxchmkdcinjpdjddxsyupzcmrpiiccvlkqjevwpzzmpuvhwqhgbonuggbnuqqvnbdwkxdzlzngkdjbrhtettvebtvxlnwnrcydtqrhqltkkdlhtixytiivmsxbicejrzmuqxivfnrtwsebnctpxihuilicwlhbftsmfastmrsyphpirkrhrtjltgsyuxnbeflklifesrtnlqvzdkeesbitmzidfrodyeywermfdxujaxemhdrbygqbsdfjhfrtehpmnrtsrjckxxkxtriqwuolugzkwfvuojcvrpfbzsngszihuaigtuyyxwuudzsmpqrcekojvjysfwyvwdonpsgwvvodgyidsvutpasnznbgqewzwyxofaeifqdrnhgojsuymvycbqzhglydznjpqaahtdsdabqudohhzzslkkwybekkdtzoxvzqiktbwgmtdcjjzthnkexmaqphnkvhbuabcrcurokqhgpvofnyhfjsgivyzfbrtjiymolgeeqmzrshvpwekptawalzsvvkurjalvokjbkufwiiydznfqjjfrqkvqaldryzqplyxaxlocjkzrtoaatkjqtwgvfcmpywilmoodwsvwqjlergljhvwmjdzdjzirvcjuhqabuaqdnsukvokbhivixrxsobmlqjusnshfyhofjtgxhculzcvqclramwbjsntnjqiaigdtuzstqexdtvmypnkctwptdgckhdyqunklvzzesfhmfryguunmepwbiytownmdfphciyhlrtxivzbqozboaazerzjjxiuideychjmgekhccrggtnselwpmyxkxliacisbgnofgzemehjtkurjmkxdkbtdfgqwnlakkrnigmchtltvmbcqsjikojyvlnmtjpafkxeckxhiwmofg
Character count: 32•'a', 35•'b', 37•'c', 43•'d', 37•'e', 34•'f', 37•'g', 43•'h', 47•'i', 44•'j', 47•'k', 37•'l', 38•'m', 37•'n', 31•'o', 28•'p', 42•'q', 42•'r', 38•'s', 49•'t', 34•'u', 41•'v', 34•'w', 33•'x', 39•'y', 41•'z'
Distribution info: E = 38.46, Omin = 28, Omax = 49, spread = 21, χ² = 17.85
Password safety: log2(26) = 4.7 bpc - 256 bit require 55 characters / 20 chars contain 95 bits of data
Alphanumerical Characters (0–9, a–z, A–Z) • 62 choices:
0nOcFWHY9xc19TR1zYjmrFF9HlwBjuiesOUhVPOuUW16MYJpUxXno3j5AvlcZgOB24AjIyp0VLxnRuk8oMWqnAHuAhqtdllyiXFyatqcDvaVKcyeifdxZtCi2ObyqBBcIFaOzZdl4YUAYP8YD1yqEmh8taGTB3CnpnsGu57DMYgH2KAIy5a9rLRVBaubYj0m0RtCa0sLRb4kXxy6mVvo2KgfxSw1WapW2J0nGSMO0HMloM4q0jYEuEccvumyHgxPKw3b0oepURdUhpdgGhGs2QbEmRHkLUNerK7odTlMjeTsc1hPka9H6u2iUDxwRhkfVHXZUsA7dvCCpFooLSA4MD5DkFjsaUjr3jF1hMLemwyGU9u0E1yAWEPaUi3fVJ2Os5PUgrfcIKP9WWIfL59bvZpGuD9Ej8VHjW07VV5URkZFHJLz8KosJQG6yn6cFO61WTZq1Ay8FDYR0XtvdVNebTdozOkPGOH8cBUWvETia9mIqfOS4i1Zqr6j1isgbeG36M3zGVn7kLxMDZwEhKgnMViCnns5CXTRQvA2G3q4GHI7znDa1DF9SLr0TL9CQo5DScY9bOd6BbuKzrma1DwZExdZCdFp5QsgtxOF314QspDFS6RrqlvlWZ0BFh1du8zvjtzeYIUcH4nfAsMkBoXfmvHOI3IozeX73hZiW08HOJQiC4RI6VvhElIiMlbiGkXp4WXEPlyqG8LcdDWzcHZ51vLRD2YAQBWTpHT2fkFCJBOejZhsccyZlQtwDKbAI7bwA1ddzNmsCyV1PkSr9Mq9iP2eUugNRTrowfkySQn4vdYgMumEoP4Dv3Qji1vFWknrWsANB7uTSTkkvJGGjPt01Cs0sfZ2NuA5TkoduxlrJfV5dkOCpYJCoCZ9X8oCdKHU8RwFBmCpJtoVsTIWk8GAT5hMhldKfNtdDIUxQqTxESQNWYzCDXudPhjs7jTRGkKi7N76Tpvw2MByFiJg4YHjBG1qO5o4NvRhYPljmtYK
Character count: 18•'A', 16•'B', 19•'C', 20•'D', 14•'E', 17•'0', 20•'F', 20•'G', 20•'H', 15•'I', 12•'J', 14•'K', 13•'L', 18•'M', 10•'N', 19•'O', 15•'P', 13•'Q', 18•'R', 11•'S', 20•'T', 19•'U', 17•'V', 20•'W', 12•'X', 19•'Y', 18•'Z', 14•'a', 13•'b', 18•'c', 23•'d', 12•'e', 14•'f', 12•'g', 17•'h', 18•'i', 21•'j', 21•'k', 16•'l', 14•'m', 16•'n', 20•'o', 15•'p', 15•'q', 13•'r', 21•'s', 13•'t', 19•'u', 20•'v', 12•'w', 14•'x', 18•'y', 13•'z', 22•'1', 14•'2', 12•'3', 15•'4', 15•'5', 12•'6', 12•'7', 13•'8', 16•'9'
Distribution info: E = 16.13, Omin = 10, Omax = 23, spread = 13, χ² = 40.24
Password safety: log2(62) = 5.954 bpc - 256 bit require 43 characters / 20 chars contain 120 bits of data
Alphanumerical + Some Special Characters (0–9, a–z, A–Z, ~@#$%^*()_+-={}|][) • 80 choices:
LalDABmy{cRoD~Bsjvv]|l-8g4tRXyMEDs9zDE](PHt$vVo]7iPXIKILCITts=vZpG0OhJmuHV4T%$S~H$olVK(PRw#5C*^o)#{Y+NyPcUA5QIr]HjjO6$J%)A@~3}O@)K+eG^HRfJi2}]~Ct|Msh35AGXv+jiu459+IF+N5HX-jFJ[9fm|g9n8f|lsLDJ~8@iWhbSufpr567-1Lk~uiV)ke3zZFgN%NxaN4~RWiQvqQY|#]f*%^R}wEw1{C^g$)RCeT)A-Cx++4WOWPZz4D]yk}i$kZ5+bR#}={F^DKzOPI[45@LA7Y]HTd0I^tlcXXpje{X|vs5JK]m1n_|NrTethcRGTP0fm=EzjtXQ)Jpc(pd%hM^E2IMRHVt^u-^xKmyiy5EYN)#RvK6AGV9U-@Dkc2K@^TnX3cR$Qrtyo7r|eVyijswiLov)hKY4h}pfkIEBZq{0Kj7}GuxI~b^Xs{Ka-8Yvy5M2+$TFLbD#KR0vR1Le{U~uMxc$5#4n$J(|*^5XN_9P5U5Up_7|JGHCXE_$*_JH*alSGzP7b+Yg^(z@CmN6lTekzxJE)({ihgHWam}L7G]9}myURMU9O-$BLJ(Vvn+L4i@o_X37-s$O[F3m^gZnqStz{|#1fU$bQLE2bMcSTZF*fSXjZJdKn^MbVD_aY||Z3~n-sEy@_Yam*4nSiSGwKvqQ4D]E~}WSx#D[fzUv[Wt]I9+qe^{IrD@{S7UHBESG(f-43}mfZYy%a)hzlMK8]6iMrI-uHF%@$~]-+6*xu*Kbes%IW#jXqC@^mo*}F+H7=0E6auYgXUj4s6xr$gG2vLrt1YgFt$^7b5Ec~4Erq7@eF5To)0l$v$4iFiAf}Y{X2i9F32{G^7hXum(eS^nwoOMZVP)8P|NrJqvisx(X12z$NblkB58T70qctP8AQ{5^R}IUIglV+oen#G%X{FfT^YR3jYtR-AY|OH[O]vm@ygw%]^rI=brP4eI^0M@r1|J_-%l^p[TyHlui^d
Character count: 9•'0', 11•'#', 20•'$', 11•'%', 10•'(', 13•')', 10•'*', 15•'+', 15•'-', 5•'=', 15•'@', 10•'A', 6•'B', 9•'C', 13•'D', 16•'E', 14•'F', 14•'G', 16•'H', 18•'I', 15•'J', 16•'K', 13•'L', 13•'M', 11•'N', 10•'O', 13•'P', 8•'Q', 18•'R', 12•'S', 14•'T', 12•'U', 11•'V', 8•'W', 20•'X', 16•'Y', 11•'Z', 7•'[', 16•']', 26•'^', 9•'_', 9•'a', 12•'b', 11•'c', 4•'d', 14•'e', 14•'f', 12•'g', 10•'h', 19•'i', 13•'j', 8•'k', 13•'l', 15•'m', 11•'n', 11•'o', 8•'p', 9•'q', 14•'r', 13•'s', 15•'t', 12•'u', 18•'v', 7•'w', 10•'x', 14•'y', 12•'z', 16•'{', 16•'|', 14•'}', 13•'~', 8•'1', 9•'2', 10•'3', 17•'4', 19•'5', 8•'6', 15•'7', 8•'8', 10•'9'
Distribution info: E = 12.5, Omin = 4, Omax = 26, spread = 22, χ² = 92.48
Password safety: log2(80) = 6.322 bpc - 256 bit require 41 characters / 20 chars contain 127 bits of data
Alphanumerical + All Special Characters (0–9, a–z, A–Z, ~!@#$%^&*()_+`-={}|\]?[":;'><,./) • 94 choices:
-1q(A'C1l"]\F&+ros.*8zhvoA%'4-U~;QT8*sw21Xy<}fM%%Tioedvi"Sx!IIr^{SmhD^A&r]2`Q>`;Y}XlCb)J>{j33%YG5YFY{|my<3_-c2HKu>T}#p$<EOOz91y,C)!{`lk04\QaK`ym[y$''e1<}3,,^tuQ{p{9keco5:K.2<Z=hm|RYk#s:!4#"GBaq[m%l`:a[dEWc3|$`Fn]S":@!wR6BWfg~_,$&Ze3I<N]"OBObzLHi)&E/,O!*_(y`6b?c90IBP8c9bW&<g#a"!(Uq[9eHZ`bcPKd(-W}V:w\akX?=S#@K+1f1kWl_@Br&hSBs6^YwIYmHdw'MTK3gStMMP{ie}85(VGNDUwT>k9ZYpp<$^*uM}9^wIgR*Dx)DmJ]qM/sMg2<^s*V}=|Wln)#|-b_sL>`hrDA_sGdO9Ec\WM'4O8]7[%YpN)ndsRJGs+c:ygEiY\<g"nz>]:x$)[\cL5U}Sm9gA#2x-V2"V11mf&40:'E2x9OYu0`NX~@/9Xcir^`6AdMA,ja`jYcj*U;t%5Jb($~yj5@@R(Q(1!ekjFI+wgtv0=?$!u1=\[;^kUh^<8lanluKsKX)heDwSa:=JM}LB+oaG[Nd~+V/+w(,KV&>Lk6+::kS<"'$8'Y*l'(8Y45S@^ye{"C"BVZkPh:,@e^\]R/F[\6Fg7zhU4BThe%m!Y0+-WT_UpZ1>Z^xr2,77C\>@G)Mv,F5n&&v8n<bXEBEv^<\W0vRtlnlrli"^UzsJ\IT%:/v8G"H[-Vs<aP=lq4z~?d"")b#56rD6&o(,_##fyM7ruY%bQ\9?Su;a3f0{=Zx2ZuyhwOdg!C?PZEhKc<%p}IQCiShBUnU^JvGI/[5`9QB!c?_cE^W!f^UsS#ev)0y&4>/u0a*%o,t}ZhOn<qqxg%}'@.'YN7gdgIRs[G[akxNn~l3W_KMWqX>2s~$3r\Egto!3#)FdwLI/JBTKdMgw'C[=VgQ%;M2z&O{9=/P!([6ouSnGMD
Character count: 14•'!', 15•'"', 12•'#', 10•'$', 14•'%', 13•'&', 13•''', 12•'(', 12•')', 9•'*', 9•'+', 12•',', 8•'-', 3•'.', 10•'/', 13•':', 6•';', 17•'<', 10•'=', 11•'>', 7•'?', 10•'@', 7•'A', 13•'B', 8•'C', 8•'D', 11•'E', 8•'F', 11•'G', 5•'H', 12•'I', 8•'J', 12•'K', 6•'L', 16•'M', 7•'N', 11•'O', 7•'P', 9•'Q', 8•'R', 14•'S', 9•'T', 12•'U', 10•'V', 12•'W', 8•'X', 17•'Y', 11•'Z', 15•'[', 14•'\', 8•']', 18•'^', 10•'_', 13•'`', 13•'a', 10•'b', 14•'c', 13•'d', 12•'e', 7•'f', 17•'g', 14•'h', 8•'i', 6•'j', 12•'k', 14•'l', 10•'m', 12•'n', 9•'o', 7•'p', 8•'q', 11•'r', 16•'s', 7•'t', 11•'u', 10•'v', 13•'w', 9•'x', 12•'y', 8•'z', 10•'{', 10•'0', 5•'|', 13•'}', 8•'~', 12•'1', 12•'2', 11•'3', 9•'4', 10•'5', 9•'6', 6•'7', 10•'8', 14•'9'
Distribution info: E = 10.64, Omin = 3, Omax = 18, spread = 15, χ² = 79.87
Password safety: log2(94) = 6.555 bpc - 256 bit require 40 characters / 20 chars contain 132 bits of data
Individual character set (,.-;:_) • 6 choices:
_,,_::;:-._:,,;-.,.;_.;,;_:__-_..-.:;,__,,;,,-_:,..-__:____;:.:.,_-_:.;...,-__.,;.:._.;.._::_-_--,_;-,-;-:-.-::,:.:::.,.----_;:_,_;;,,;_,;.;:,;-_.:;._-,_:__-;,,-_;;.,._;:::,-:---,.;-,;--;-:_.-,-.__;-.;;..;:,..-._.-_-.;,-_;.:_,_;,-:.._,_.---;:.,-_.__:;-_-:-:--,-.__:_-,,---,__-;_;.;:_-;;;,._._;:,_;,;._.,;,.;,,;-;:,.,:;;;:,,_-,:.-;,.;,,;,;;,:_-_._:-;-..;_:_.:-.-._;,_:,;_,,...;_-:;;-:-,-:;__:,;---_,;_:--_-._..,._.,;;._:--::;::-:,-.._-,,,-;,:;_.:,;;::,_.,.;.;.-,-.-__.-:;;:;,.;;,;,;_::..;;.;_-:-_-,;_._:-;.;-,::._;_.,:_;.,:;:,:.:;,;,;-;;.-_:._;,-::;,;,--;;;.-;_.-_,;_;,_,,-;:_-.-,,_:;.;----_:,,-.;.-.:-;;_:-,,_-_-;,-,_;,-_;-,,__:;-;;:__,_.:___.;__;.,-,-,,;,;-;;,:.;__.,.--.:,_:-_;;;,_-,._,;...:.:..,:_,_;-::,.;;_,,_,;,._;,;_-,_.,,_.::::-_;.-,-.._--,:-_..:,-:,:,_::;:_:-,_:_-;.,.-:,;,,,-.;:.:.--;;,:,,_._.,-::___,-._-;,,,;_;-.,...--:;;:,-_-:-_:_,,___:,.;-:_-._.;___----::_;:-;:__.,_-,:--_-;,-,.:.-;__::..__.._-:,-_-::::;_:._:,..-.:-_,;,-.;,-,-.-;.---;_:-.;:_;::,;:.-._.:_;::_,;-;;;-:,:.-___-,;;,;,;-_;,
Character count: 169•',', 176•'-', 157•'.', 147•':', 172•';', 179•'_'
Distribution info: E = 166.67, Omin = 147, Omax = 179, spread = 32, χ² = 4.52
Password safety: log2(6) = 2.585 bpc - 256 bit require 100 characters / 20 chars contain 52 bits of data




