3v4l.org

run code in 300+ PHP versions simultaneously
<?php /** * Usage: Run this from the command line to generate a secure passphrase in the format * of stereotypical bottom keymashing. * * php bottom-responder.php | xclip * * Why? Because furries ruin everything, including bottom jokes. */ function random_str(int $length, string $charset): string { $c = strlen($charset) - 1; if ($c < 1) { throw new RangeException("Dumb"); } $pieces = []; for ($i = 0; $i < $length; ++$i) { $x = random_int(0, $c); array_push($pieces, $charset[$x]); } return implode($pieces); } /* 8 home row characters + 8 to 12 random letters + 4 home row characters Entropy estimates Lower end: 26.575 + 38.864 + 13.288 -> 78 bits Upper end: 26.575 + 58.296 + 13.288 -> 98 bits */ $x = random_int(8, 12); echo random_str(8, 'asdfghjkl;') . random_str($x, 'qwertyuiopasdfghjkl;zxcvbnm,.') . random_str(8, 'asdfghjkl;');
Output for 8.4.7
skhjlkkktn.btpci.oovlhkgk;gk
Output for 8.4.6
fjdshs;srssylmjw,plkjfllgka
Output for 8.4.5
kssshdfsxwobqc,vfmsddjlkaja
Output for 8.4.4
dkfjla;;gdbqwera;jkagsldshjf
Output for 8.4.3
jhklsdsauhvsqlxqxtmgs;gfdlj
Output for 8.4.2
jfsahasdsx,nj;co,phlk;lhjd
Output for 8.4.1
flgdfshflffuxr..dflgadfd
Output for 8.3.21
;lg;kassxoahojrarizjfagh;gf
Output for 8.3.20
hd;jldhf,lcxkzqtgdlhlkjd
Output for 8.3.19
fdkdjfs;,elspgu,ralnj;ad;dls
Output for 8.3.18
;;shh;lgpbxmuziigf;ldgjsdlk
Output for 8.3.17
hddfhdffxuscoatywe,gldd;dha
Output for 8.3.16
gjs;k;lsmjjyrlpxcn,aflshlla
Output for 8.3.15
jh;fjaddtvkybydbnkzhlsjlkak
Output for 8.3.14
ljdglfdliyovtirvfggalsdff
Output for 8.3.13
sfajfdlfubsimzylikhjhllkl
Output for 8.3.12
dkkgf;gaqnmrporolg;ajsaa
Output for 8.3.11
ks;dhd;sjkyuiaxiyohhkhjglhjj
Output for 8.3.10
;ggfadfsxysazkttltgh;ajs;f
Output for 8.3.9
l;dfksjj.fdu.sj.,xlgddlajs
Output for 8.3.8
fhfkd;l;yck.dndi;adlfghd
Output for 8.3.7
djhfflkfozwa.p.rysl;ldjsa
Output for 8.3.6
jflasag;,yutcpwkpqoahsjskkg
Output for 8.3.5
dgldkljsj,l,,pdxyxaldsjaaa
Output for 8.3.4
hhjljkldj.lxnzraddjdkkhj
Output for 8.3.3
jkkghas;eulaw.kewmgdsfg;aaj
Output for 8.3.2
gjljklfktegdunoyqjshjfsfh
Output for 8.3.1
ghhjjffgpynaibiitihgh;sgkk
Output for 8.3.0
fskfahgsorv.ob..itkgsafhdh
Output for 8.2.28
ghd;;dhjvzzorudc;hfhdkaj
Output for 8.2.27
lh;ljddhtfhgbutdzglllhadl
Output for 8.2.26
a;h;daffmicb;tag,;dj;;gfhf
Output for 8.2.25
dkgh;ak;puflz;,dhfgajlkd
Output for 8.2.24
ddhaghgjrcyc.u,y,puyhhhdks;f
Output for 8.2.23
akshaalghptbpe,lcbbygjgjlfad
Output for 8.2.22
khdkfhjffpg.;w,wskg;sdsh
Output for 8.2.21
kkh;dagsvhyryud,;fsjhlfsl
Output for 8.2.20
;klaska;micefzmgp;kaaahs;
Output for 8.2.19
;lkhhhgfjdsfuchckrfhfafdhdh
Output for 8.2.18
kf;j;d;;hwvjdwivanlfslksfh
Output for 8.2.17
fssskfljfw;slsbgvajghafah
Output for 8.2.16
ghsjdsaf.iqwewp;jahhafsf;
Output for 8.2.15
shsdkjl;,lsjswskagfhh;sfd
Output for 8.2.14
ggdss;a;njojb;vuzkxdklkdjhh
Output for 8.2.13
;fjssjhsqbvc;;mue.,daska;gd
Output for 8.2.12
ssska;hfwyvs,;jwpassghjaf
Output for 8.2.11
;ldklhdj,cctxjnjfoklklhgks
Output for 8.2.10
ss;jshklcjeafkpojlg;ljk;lag
Output for 8.2.9
dskfskjfjfonk.lqgooohshsskks
Output for 8.2.8
agkfhshsrtn.xvykxq,skjhgddl
Output for 8.2.7
assaafjjovsvjtwtcvsdsjlhaf
Output for 8.2.6
;salgsddxu;reciy,ss;hhkal
Output for 8.2.5
sfjhs;dkvnaivlhktgkngd;gh;kh
Output for 8.2.4
j;;kh;klgphyjt.eiogajfkhk;
Output for 8.2.3
kskllksla.avwptnghfkjjshg
Output for 8.2.2
s;skddjggdzuaezrapakfafkd;
Output for 8.2.1
gf;;skglxzpwelmujshjkhkf
Output for 8.2.0
kkfghdsjdsifdmfzr.;sgghls;
Output for 8.1.32
fjfdsdsawu,d;eta,;kshs;fg
Output for 8.1.31
a;d;dafahndqrquralkgskks
Output for 8.1.30
hlffgkjldvn,lrsgpibyh;ljjfdd
Output for 8.1.29
ajjkgfsdwoxjwzavzaklsslal;l
Output for 8.1.28
kjs;;hdatm.,,wb.vsh;hjjsl
Output for 8.1.27
gshjjdssqicqb.arryug;lhskfha
Output for 8.1.26
dafdfahkbiruqqyiycwggshjlaa
Output for 8.1.25
hafhhdlhvk;csx;pp;fqjflkdjfs
Output for 8.1.24
fakajjs;nvmaohgbyygdhfjjka
Output for 8.1.23
lalaagsd;fjeevr;hdf;hjff
Output for 8.1.22
skdhjjjjlurobyikkdshakhf
Output for 8.1.21
g;djgjafkyflbokbbxbeglldfjk;
Output for 8.1.20
sssfl;;suissax;qhnhdalkgkg
Output for 8.1.19
ghkfhlkalhnuosdojz.fhhhgdjs
Output for 8.1.18
gggsfhlgnfugtyobolahkalsl
Output for 8.1.17
agsjaa;g,jittswk,f;gffjak
Output for 8.1.16
gllg;kllhnxekiqjhuusfhgafjhd
Output for 8.1.15
jlalajslgfhg,v.kmdbssdjsdds
Output for 8.1.14
dh;kfgfgjgmgw,hislsafh;af
Output for 8.1.13
gklhja;kxiigmcjkol.xhljgdsgs
Output for 8.1.12
lgkfj;l;wxmhejjajhljl;js
Output for 8.1.11
djdsdhjkhfpanurdsbrofsdkljak
Output for 8.1.10
;kdsgdsawoeps;hqkdkghsjdfk
Output for 8.1.9
hlkhdlllrhifpx;a;;;ld;as
Output for 8.1.8
fjfahaskanyetos;kagkdjhk
Output for 8.1.7
skshlladubkxceniztchafgsdag
Output for 8.1.6
s;jsgsas;qvq,.movneassagjall
Output for 8.1.5
gjdddghgrer.yscuj;hkashfsl
Output for 8.1.4
laagh;hdeka;tyjfvkplg;fsfdk
Output for 8.1.3
hjljdlgj,yymh;wwjdgggjs;
Output for 8.1.2
fdls;kfsymstnbzlkhsjagfh
Output for 8.1.1
haskllkjedrg..xqgzggkhsg;h
Output for 8.1.0
gshshkjknm;svwfv;khgh;dh;f
Output for 8.0.30
k;sjhajg,dknbfqjuaslfjjds
Output for 8.0.29
djdakgfkvq,ehj;jauc;lshjjlh
Output for 8.0.28
;hhjl;;;qerjbinpnagskhgkl
Output for 8.0.27
jjs;hshlcsrf,viqa;kahkha
Output for 8.0.26
glkfj;ssa.zjsqg.tvgj;k;hlj
Output for 8.0.25
afjsfadgbdy;,,hsksakd;jh
Output for 8.0.24
ha;lajjhbdtquiciuadfs;ajk
Output for 8.0.23
;fkfghhjwdfv,ob,;ksl;fsg
Output for 8.0.22
lgjhsjf;bfl.qa.,dsalshfj
Output for 8.0.21
lfa;llhkvocvwwmaulf;gg;jg
Output for 8.0.20
h;saa;ggruipyswqkha;kfflh
Output for 8.0.19
flgldkgkbewwjmykha;adkag
Output for 8.0.18
gkd;f;;asnwlidggftjlfjdj;j
Output for 8.0.17
hlakgdjjjdajyeygumnjs;dfg;f
Output for 8.0.16
flkjfassidddyamlpamaagh;shdl
Output for 8.0.15
hk;lfjfdaxhafjzrdstba;glkf;g
Output for 8.0.14
gshkjjshc;vqktnulmdjhffksd;
Output for 8.0.13
dhfkjggjazhotrupug;jgs;sss
Output for 8.0.12
a;ddflkdje;rkbdezdal;alahs
Output for 8.0.11
ks;fahggwxhzx.qgbu;ljlkldlj
Output for 8.0.10
ajkfggkjrv,dhvjflijls;;kfd
Output for 8.0.9
ajaasjfgku.cxxahfkajdsdl
Output for 8.0.8
kssfsddlfr,arhzxzksga;fkk
Output for 8.0.7
jdshsh;a.gdjssrr;lgddjha
Output for 8.0.6
dkgaslkdraankaxgoi;lkdksh;
Output for 8.0.5
jd;;lfhavh.jtbclds;kflad
Output for 8.0.3
llhhfjdjek;ami,hdjsadsaaf
Output for 8.0.2
dgsskdflxynak.g.mgofsgddhgk
Output for 8.0.1
sjkfhshdrfguejjinskffalfk
Output for 8.0.0
hlkkj;ahjqmu;bfm.i;djaa;kh
Output for 7.4.33
dkfggjgllncpshvoxv;aflajgk
Output for 7.4.32
gjhghak;ujvodmx;dhgfdgkj
Output for 7.4.30
gg;fghajoypbcburb,tvfdjjhjjg
Output for 7.4.29
sl;dhgd;bvvkytixfojtgfdhllaj
Output for 7.4.28
gsh;lshlytjiiglfxgp.adfshsjs
Output for 7.4.27
kfjkaadhknqoi;fwivhhadddasj
Output for 7.4.26
;;hdgkgjyy;w,es,skj;dhfs
Output for 7.4.25
f;hfjdhaaambkozgwkkykjj;hjlf
Output for 7.4.24
;gfkjsfsjbwdd.fs,whkjdfjsa
Output for 7.4.23
;jhkjgjkpv;vsxbbrkcfdffdgsk
Output for 7.4.22
la;hlsjfuheipkpcrhddjk;sjhs
Output for 7.4.21
adgf;shjyfnjanetulazdhl;hdgj
Output for 7.4.20
;;ldhkaljn,prbdhvp;fllfddf
Output for 7.4.19
fdafklfsfeuryzhwhdhkgagag
Output for 7.4.18
sadddhlaizeewfzvmix.jkajdkga
Output for 7.4.16
ld;jjajkqreqdl,ah;assgsfha
Output for 7.4.15
lhdhjdjfjuvhaic.xdgfjlkg;
Output for 7.4.14
lgfkhjs;,,f,wcyxyyhfffd;sd
Output for 7.4.13
;ljsjjllb,.f,rz,mjakkhhj;
Output for 7.4.12
hajgj;akry;sjn;zxifhgk;jkg
Output for 7.4.11
hddkshsllugntzlnl;df;jajla
Output for 7.4.10
shhdsdsdyzidicxuuskf;ds;;
Output for 7.4.9
s;dlajjhmqvvjjysejuxafksdjhh
Output for 7.4.8
fsjagladfcmhvfuwzbztfkssasha
Output for 7.4.7
kjddghhkonkllaw;,zfh;hlfj;
Output for 7.4.6
;jdkfj;lrtabbsbzszosdggfas;
Output for 7.4.5
shlsj;ajs;pnhaehhgygkddhsjh
Output for 7.4.4
f;ssfgshla.cumudmkdlfkdgad
Output for 7.4.3
sjsf;ahflaskhekxclgkdaahd
Output for 7.4.2
g;;fgsgaduwv.eztsxchgkjjkad
Output for 7.4.1
sfhakg;hfiuzrv,iuqgxgadfgkak
Output for 7.4.0
;kaaajffnbmjfypmlbvaksfkhf;
Output for 7.3.33
l;fsafslygnikiypdahshhhg
Output for 7.3.32
jllgadfsjuwotyattg;hkgjad
Output for 7.3.31
f;gjgkgarfktt,hefslldf;l
Output for 7.3.30
ahjlsd;scjzvncip,agkfgg;sl
Output for 7.3.29
;sgggjhdxb,is,mzjtwjl;jadgh;
Output for 7.3.28
;dk;;glgbaxxvtdajfhlagkd
Output for 7.3.27
hjkdh;jaif.zpfn.rtmzdghgagfj
Output for 7.3.26
ajahsjgk;idon;dbnjshlllal
Output for 7.3.25
fjhhalsg,bexlfdmprdahfklgs
Output for 7.3.24
kss;dslh,iyjxqcysds;shfl
Output for 7.3.23
fadjhdfkoe.b.,grirc,adhadfgs
Output for 7.3.22
j;k;k;k;yzdvxckn;tgvhjfkgdal
Output for 7.3.21
kahajasslqmrwhzxkfksdsdf
Output for 7.3.20
askgkf;k.imtovkikxlfkkffds
Output for 7.3.19
hfgf;l;kyxelyndkobfssldjhh
Output for 7.3.18
fjllgdalbdpzvcldjbrekfggjslj
Output for 7.3.17
d;skahlldnnlxqxcisbad;hssll
Output for 7.3.16
ldafsjhkw;awpczzpahfasjj;aa
Output for 7.3.15
faaks;ashjvs;iriy;;;;jjhg
Output for 7.3.14
aadsgkdgkdhe.eswaaallkff;
Output for 7.3.13
dk;;;h;kpyetxptssfslfgga
Output for 7.3.12
lgfggsdlgqulgoqlsgfkh;dd
Output for 7.3.11
jjhdgkakgg.;cta;.xws;jfsahh
Output for 7.3.10
adfgh;ski;rprksp,easshhkhj
Output for 7.3.9
hskjssg;hpitjxgqfgd;gdsd
Output for 7.3.8
s;f;dlsjhpdc;absngsdhhajd
Output for 7.3.7
jjdkfaljnuaibn,cooutshss;khf
Output for 7.3.6
kjhfhhkfiptmubu;hhksfgal
Output for 7.3.5
lljkssdduuokdlrunhashafshjh
Output for 7.3.4
dflljffawc,hiwavvkak;hfdg
Output for 7.3.3
;jgfhssssbtizcttkjyrgdjjfddf
Output for 7.3.2
dakjasls.qfdrehymqkhgfdfdgf
Output for 7.3.1
sshjjds;lfxdhaxc;hkfhhhj
Output for 7.3.0
jssk;kgdrfcxbopekehkdgfafs

preferences:
82.35 ms | 667 KiB | 5 Q