Skip to content
/ passgen Public

A password generator that works on Windows command line, generates you infinite length and secure passwords with options of including symbols or not.

License

Notifications You must be signed in to change notification settings

duman/passgen

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

passgen

A password generator that works on Windows command line, generates you infinite length and secure passwords with options of including symbols or not.

This program uses my own library duman.h that I've written in my empty time. If you encounter an issue please use the Issues section.

Have a nice day. :)

PS: I'm also working on a linux version, since this program doesn't actually use Windows specific headers.

Installation

Go to releases and follow the instructions given on the releases page.

Usage

passgen.exe -length_of_the_password -min_security_level_of_the_password -(s or ns)

  • length_of_the_password is the length. You can set it to a million if you want to. Whatever your wish is.
  • security_level_of_the_password. Something out of 100. Program will try to aim to generate a password at that level. If it fails to do so, it'll say Request timed out. Couldn't generate a password with the given parameters., try to lower the minimum security level.
  • -(s or ns) will decide if password should contain symbols in it or not. See examples below for a better explanation.

Password security level calculation

I've taken passwordmeter.com as the reference. They have bunch of parameters, I've applied them in the duman.h library and each generated password gets scored based on these parameters from this website. My library calculation results are almost identical to the passwordmeter.

You can check length_1_million_ns.md to see how capable it is, as an example. It takes 4.2 seconds to generating a password which is 1 million character long without symbols and copying it to the clipboard.

Time complexity

Time complexity of the entire process is O(n) due to that, generating 10 million character long password would take 42 seconds. (It took 41.67 seconds.) In the future I'll see if I can reduce it to O(log n).

Example 1: Without Symbols

Here's a console output from the application.

passgen -4096 -100 -ns
###
Generated password strength: 100/100
Password symbol status     : false
Password has been copied to clipboard!
###

Here's generated password that automatically copied itself to the clipboard.

1UPi8q565vPE33p0G422965g5XK8S8n9eM8875cz14n13M19x8f71W2jW6W3817Z99Da1V6Bq674123lOn5u237e5AcR75G5F405v4Fav8m5H8659PcQMG77PB406Jf095TkWYL934WwTkI5452V4ah676T3OIUG2RH4bZ0xN3550vf0w27r952eE0eO2i622CL53w6K3H16h6r27QB64zx04oY8Y0o5T4QE83vPXtS57N4G2F865tJ748H26w218Tn5FjO8d94FO468063CoZI2o2YFU9M9f3799288510850sjy7wT70sB5dK18i305J85np07gf45P8Q3676k5MaEl5f2B3m4eq3U8735MUyF271t2qwU0k08228341w955I05B27Qr23QxnG1MxC4757xogCB9I6852u9Z7516nv20k266022j5zW77t5o93A6pxQ9088B598OabFx641W4e14Q69YhX1G6zVf5i4I96WJ64D62o9bQ6vj10AA516J1168AQ7d9706L9K42ek9lm823rhbW02hs2d5Bq87287yjD2kHqH79681O4ex979K6yx9Y6W2e4z35t15253L7c0o95019ED0lyRJmP455Ka46I2R2Bb8c3p1osqn9E12f44GWL41y2DZ4HtTR97265170610D321w12pk1RLuK6088W71711OyOD1bmybZjcMx61Wj60D17m7FX8Fwo0TbbU01G3Lf6S79Iw7I5ltY97FB2H8p5878gQjT5M1180qADE29G0Lvq9Y2W7K8d4CiJ4D8DmY8K83b12J6N637dvf3w5iDQ02Kc09K0C2B3RwpI9pQax593iP491F7A1dtHqW0003gMtTNMeX61IjQVCbY0r58kj5J2H116893zg49spEAHwY402SEU16bt2uH02u6448KJSiR15Zy7h1g4y53Dl71xX6xC7K56cw09VEC3JyPC6Kx5n22HM4A8579q7g9k9Wl3p2QyxUnb96kCWZ368wi86K4AZ8A3j3W7kmJW545X3g63161K2ML3WgVs7nL4Yq8UI09X8g5Fl76H26p0jS867LqV2Boz52034COqcAgEF3ONp8o8vky6ynn6702q325xUU055N20645op2Oh79CDj10I4T4UL2d4296I8J4IJva089n48u67T66N778U5I36u6Ud9aY3B7q9N3887kQ3N3si8gpZeuRa1jm75833KK1980c207tcwI5amN54YY3166Lg4p1e579rp53735L1U6X67RiBWx124bxZFK8r48Sz2vZ950mWn18ym6Mrv5U38F91T53732P0m7vy0XyS6q4273728Y8w8Sn9DQ1zV00x3pwQ1CvyV334BZF42i481m99N39ii3iTS6a39Hwob45JL0DRF7092ao3t176822oi67q992uzN93oEa19B910dH53A6HhR310205fQlNS668fj66115293nvW6B7Fm2Ovp14O6s4t7o997s75X3T2lUDnWF1PU26537ZTuDRFSctO34wk5407227WzY0pTZ50h722C1445gcAt55W4qo4cmu96y994G97603P3X8L741Xdv057tu7dX0HBXo05to68RACUEuh5b59LyY233jH00uRW6LjaR5W1JA0C95G67530dK6h8HLs544PB0u5gs6QY41B035M7y7ce7LDCjEa976h35d153iz4J5kN7N91x0m8r3a4t968hl606y82v2AFdqn42Szu5G966x8Z3r7Ik5d3jM5V8gD16817sJ05PBr97m2yg5dYY7PXh21sB7Fi3777184ZlFKZXz04GR4KIpP61Dlx5wi8I9x34v4p8R48JmQt727VFix7E51633uH61W3S8G73425t7BPyaD134bz942a095Z08r8H9OfRQ7U205c4YSlB74352P3Eo0WMm9ZQz5b07wCKk1lUWq1vL002248018IaF1USYp17t755Tro4QpHV4Wa5h4196M2KSl7f3e1y8uo42Ex29bY094F8ggS8l8dcvK620053T84f7SkWA21n702CE9rgk8obN1bG4J33o6dv7B1w30cD0703438zl4142EtIph9s36a5c0JU7ev2233o20334EM3Rg773sO9Mjr587047NK9F2dV2RQf9T32481A5Uholwz3tS7S1t2q00F443o9081nzY399M5MB2125j1YYP93l12u560otA3e0Je98uG23bUCj60X69i08Czim3nyj2537D134tg2sleWNk2i1n0370L05njR9qj3q59I7lN058F04TlQQ0H3636Ek1q889hc5663xXNM0s32254iNk7Y56Uu08l314RHQ5O0j9c5A3160F2a8t5ujr43h934RkK5367208s9R2090HU12GyO0619OB9kk26LxwJRy7ST5UbRpk4384918994G555vmT1fGj23924t171I642IUkz69b759SU202SCR92G4245cc12e8289D7y4kwPx7ex7f28VN583J05IY7f6iT9fqC25B44r24mF5580gX67z95cTo8tI57p703FwlOH093h3hIDD0409z3YU8G153mZjN1424kR2ZZ2M2a9a4Se3Dshg2A3M8DVE23E8362IyiPHPH70Op8J70Q8u514Fu5E458K553386ZS8t3e85iGS33jL7225wCtM223Uwc90D44DDa41d9H17fw5k9g1EnX54058PBk2ClNs0e2zJ2Nu6256UW5g45388obeMrw41bK02cbTSi3Q29764v0nilo7gtw83EU58067928p271aZ47bS5ka9Z2L33T51382tuFJ1Z5RB855s7v11945Lkai13z8n398GDp8077My83f5j7905185DpkhI93x939RA9T0N8JW5h62C3H3Gs9iMe1ccC24oA830JaAlO243XIZE9w4Zxn861lQ1834Q3h84Y603jbn3y9Fs5xwf88w5U845ithJA37e7G9b9072148KQE827SQ63q64c8l4075un1333v73462E175944PJuv57nIK99S0dwKS5e0S82jOHH94sMn86lB2l0EF02pTb20t09z4nV2US1utx452RR92e7y237Z832I7hkMU75iQ1I25n8s0h96225F3hQP1aBT08C32jmq3ombF588z695iH8p8Q566s935283B43c7986ala34G8U6U0pB198875qOFh4EK20iE75vvWEx37Cy96A0922F1c50tU02z5OB4517e4L2k0Mg74n379PqNHR9wIR650q3jPMS156ac5z37R5ahE5K7751Eofk6H0Ws2y524z0G4CkI5t7j2Jhn9579845oW5l5w3K33040DA41j37BhCiWd1aO6471B7986Kg3O9JZ6Y25Rm0goV578v7E2VKX1nQBK9H3tC31bnvWw3I8q3w0628pjs64F321J56RO9d1jIClC059P7r2g6804VOHj93Qwnj0S0LshtTm8r5784FXU0to652W414863j76j49w89R163XWf2Vl7rPJ9A5q442t660i12IP84K5Z8FGqdod410kKf6ls22M6t5RflPb419vn8W84t103C15cC2ql59Q0B13XA6Ni8y26r329R0Y5SFXf7m5uUGswB6DYi57Pv47jw6n53qM5xoJ05S08A6g83TOz47QN29S0640Ju5oHG7r8Y7y17a1b546899x7EJU876X73jH46Gk4z7K05383O6q67aRYz89Va33zNXyDq494fY6dmj87Sswt96c7YGeOt1l22z39tdB41J8esX14r8SIj91CX65u875jmL4dYTgQT3U74qeRc758DF57nyjFx73791006iJ2g39x36o38PI45zN6ugfqk1e3r3fZsy59N5ZCm4Zk7a26Y9M4hvX0QYL01mD7Fxl2y0DgEQERm08KUd1V38rN43G11M3L05Sx9dYFEq5t894ZVogm8e890X8YQp19kj6553k31P4ylx0N8Col4OD7v111q2yET4657dyL3v379lvfbf4B6HpePW0Vx8N50t2pENbMj0nfV5ijWD466f483309j8q1JZ4Z9URF16uZ66W

Example 2: With Symbols

Here's a console output from the application.

passgen -4096 -100 -s
###
Generated password strength: 100/100
Password symbol status     : true
Password has been copied to clipboard!
###

Here's generated password that automatically copied itself to the clipboard.

~_4~1~(*BC658Z3O7{4N35~oT3738]Cbv}vx|22n)2eZB4"0Q0HOho9o1Se428UkD[142l}2#^014dFVN2r360C~K9Z72Z7U596UM6nyP89_r442c9djRhF3rww4U78^{4T38Jb|c0\^t}$4Xp50|87729^]P5lQC39{84j*aunM'J8vb2~\Zr0DiO4vIt5|{T3M_3u"R}3K40[.8]W$7Ev$5FO{4A4q06oJi90H7X,b082$9y[O[T|sKy5Ra02h05ecE]6H4843{c6[9T-^N56~\5y440!q130Ln2B]Z57aD'A7{28o9ac306b5F8$RtMOz2wGBu65y6brWQ4C13v0h56e7\+6Q*i-5h)433o87~8x1VUV6fVCdyU56+|u1Qr513v02h[178n8m72hz4scw627OX.388Z|7Y6ZU&m9^82!9tADypoc3KU91ECR~v0J2_m895766,94{]5]QQA\8P6d]8TX3y7^a5Ja_9E8250s_5nO51m909G|BN40n8414N6hR5hQLA[{fBN522z37TT0RGTvbIWw0eT{B['24B6*{8i6[6ZG6wI$nn-{!1e|t_Y4%2[3Nc8k6192d^7}\7d9{93ze|2O&[s9S1[RA95R44l+NFNK$W(86\84X_i\cR~L1qU_Z6{|9x}5[{85WNC]3o9EJ+0q735d51{7JkB0Y7_^U6tJ27k36nx}lw51EZ04e9K~7'7x7q521f$VW06.40Ss3a83}}Y4L3s24}G304FMiR{9eD4mqq9(5628b_7Q474E0NGOK8183]8A41307J9MF412O9,26]1j12M2[LK]1V]4'65]K10|4l|RW9|91|I{e055e1vZ6TBw71^6W0O7brMJF952d012{^tA2274s-A.328X[uT742.76o6\xp#Pd[61G34lm.8k~~I5obvF0_irJ702b1653]U6-avl_v}~y0r#7T16S3{Z\hqE4RD7,_Y269{6{Gd|1130GzkvVJ}2NM5)mP]uHL|at4W3[5zc5{4p7J\Xit70x395pE68.28$6{63G15530}12%99eAnn80l]51a&I3GKq,810a461Oi7k&9d*63~_bMs"SF0m}1f8GJ2X75~1D|4549m8mz5ic98\0Va049]0*2a884KfuzhG12e08]09.1K9oP16ZG}q923|0%bR0N"B{V9j\"2#y05*T2ohC7Fx089)KJ(6~9!7[qu06Sbg}^7Y3"8{5A{#117W98dxGph0w"vc[)tRL|{l4SvaKJoI|6GT$282j\u^VS,'R46v7&C0!__)\Ot"40Y6j^[1KPJY]|[1J45*R)25,07995D74~7K4u964v]_63i09k\c^6Hb41{9a86s[Y3V3g75w9kS82464R7Z~287V3v3m7m31VJ4[4J8{Z00f2397)[8{H75{9V96746\O0^8_42f4bsyrZtKo3GjSo"c54!_A0ikS5_0gA5uQBDb91E\]L9H_C06fT"um4TG8k5~K3}7]d#A1R]9]0RQe|Esj2rc0im2#o9T-0824773~09l179xs,FG6fDbZ],39s7l6*%7R8{05Ty+36X9+M93v3Ky44yPZ6huy41]boT245a\077xX^7u93d{06.V6G906yH\8,EHd7852u92(2U~}VZ_BFxOBD388kn56p6e40$U4bRWt9od9rS7n53TZtv0uA5nd62204B1N926Rt1~_s2jBJ2828u$J6{|6sM0CwDM2-{916B\f64[9_rMEi9XW_h7\0t\}060y94|\14V8]8_il2}U56|FDB]p8E7H21O_xY1KMuTHII]A\7ri8H$CC\246#50#36]0-0N50H91f7f)wg~+B^&o32+JQp3901Hx7!14H2%Up4Z6w"a1r92[7a.4X5R.B0Uk|9tH6|U8v8R7p3921(}z3p8aI|3aS6""THQS^]81(04h54&&|oQw7807hQN0moe1n91)6O6xo4ebbI0091P10x22U"3aH9}vi[~522}cT219ra32_363CdK8s9{CgFOqK95^223RV_783c7a_29d3,0'85pZe513#BA7UocS!Sq~t8{wOb18O9}0x1RK7Yz11c1^jBV84I%a2NIj3398[335+4fdXt44~043~1Z5C1l[^41MQ6sjM_upP[V4_01$}{~2phW~zi5\E5G407R71o6|9L_D3TUJS}s7w+B3^c0[906_Y{5_]0sz|m2^8N985VJr}u8r77{Q8y9XD[fL399fb]{Q[mm0C9835l|7l1rU[3[Y4p^xs0(M8d62~}~559]mO7H_71ApXf'$I_tz457aQR91L9y6\WH178Ct2Rd2v1d]789g}uMM"+1Lx47]29"4[Nh78F3gW4H3Ov9*46'W7e6y1zEC651Dx9i5Wg6}+L$P!7x83x5[4330z5O0CjM4\XB#"M2zE81)H|5K4Z5s9y_'oCCwkz"21J30458^3.b352RX1~F71|01i8U,ttO|7"3L6Q015u3s1^7y09016O9315\5672]03o^5992)3IHeoL&R^Ev~Q214368c,_'48987f|x{xcZ7V2ED6C1W^,_}GLBy09z8U5wk1T*~86DI&d2fD{44m81F7C067IH38528y5lE\38AE277^8z7{)nE2[6W}38W5[F4N6&F48e_pdc1E7*#ClF8mh4[Zm3m70CeT3D0V807P6&20jNA(614WL{\0I#e3387Ga25|2[~t728xD490o_T"D2#D6181~6%|ae2z~03q7vt1C719$80g7uyX16)TG58U^6f1$b3H3679]07733^Bd12951D7586U3n*11l00bvYI6yw8^00fe19PkDX[o8Pe5h~\slm+%xq|Yy}~gr8d]\84~79L$QiM54fUNLO7IzAo68)s1-g22_512%q|e4R[aK%9]x"7[77035(I)6F44lT~i,740wK6\SlJ746)"315j!C2M95~1DW008j5_$2J7coI]Y97^P0820g||P}]4H1r'5F+au^]3Q0*jH~~65K}]7PK61!_1MF3K7JJ&'5KTu31H45[b99H71~7+3q1+*53275e%490tV{45fxO73m}A{8-V9BH17~II1708BpMe491cRA|7W#h^5^_C05Z[706Hw5"g2q0006N49\~ww231uR8MsP|j8i9~3!jGbf1{s4E8-u1u8#Cg-4wlv113G_678&"621063op2A59i5J6y5c\98C43[}0m288^8.5c7v460-8X2"A04P43\C3T6e94h2}F5[_hdAxi(A{3oq^253|0]PH}zUE6.hH9944mWE9]au019j0iM9&'1^uy1856S}1}96N&3w29{}5v9g9W9uX^A914.^ssE4w7q_c0k0~5yd.JElNB4#00t84Q7{|8,ssmgN8\{+M{9G7^d''WB_9F7~8P5\2187\7IA94x51s'OO_854[E5cv8G]~{6cje86eM216y[60YLASqp90J-m8Bood5~B|)Ee(1}Nch972VD&R0W'{8}4O7^2A2x{'f10I9B2,91C$6$kY60\-A2^6j}RQ44d|6_lY2h8}53jR_onw7i*M0&geC(9g,XT2}MvN,[Ox53017s1o4ul396&*G-.22\3g(}\17z05QueAh|u7_yp6G~6008lvgcUWp]}Ey|uu1$9|!3jzOOfB|Po7*ObYF6KK63b2-8ZFe[{FOZMu5546U99lFh]~\{u68h39\43d40[69~1#r~0!3MV1lI7M126J2a%w[H1$yLC6n|t[y230Hdu%~830}_c6[J229\U|VX6a633-90s~gwUY]LZb1125087A7c}aE35rH9sEX4|h43+G%46,q48[M0X'59Og67WbX0j6mT84S77s)39]7S48z34W0}b55^6TdX9z06~2N7gEdb3e|-9&l8owd28b-q8f.(6I3oy13d4tX+O%Z5|355Dp,k*0W"4865)x^'p.wdb7XLo3f|26_\89-!{|8I1mu7G[s.K5y+O2Ic61WLk[t~I5WoBb&rej\21!8Wva13~d2+cY^E7r9\r_JU50|~fyv76G0|1(2yj7CcMII7'\p1|865J7~2xV6b&448vgw+3Q192082]9~0L5]17g7982a1h,N3s[E{BxG3

About

A password generator that works on Windows command line, generates you infinite length and secure passwords with options of including symbols or not.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages