From c11a6ccf9798d5c2464ff4d84205dfc7bc8e5d21 Mon Sep 17 00:00:00 2001 From: CamoGekko <142858559+CamoGekko@users.noreply.github.com> Date: Sat, 30 Mar 2024 19:48:48 +0000 Subject: [PATCH] s --- pwg/pcoatl | Bin 123080 -> 0 bytes pwg/pwt | Bin 26072 -> 0 bytes pwstor/pcoatl | Bin 0 -> 123064 bytes pcoatl.cpp => pwstor/pcoatl.cpp | 6 +-- {pwg => pwstor}/pw | Bin pw.cpp => pwstor/pw.cpp | 0 {pwg => pwstor}/pwa | Bin pwa.cpp => pwstor/pwa.cpp | 0 {pwg => pwstor}/pwh | Bin pwh.cpp => pwstor/pwh.cpp | 0 {pwg => pwstor}/pwr | Bin pwr.cpp => pwstor/pwr.cpp | 0 {pwg => pwstor}/pws | Bin pws.cpp => pwstor/pws.cpp | 0 pwstor/pwt | Bin 0 -> 83984 bytes pwstor/pwt.cpp | 69 ++++++++++++++++++++++++++++++++ pwt.cpp | 53 ------------------------ sha | Bin 0 -> 23848 bytes sha.cpp | 32 +++++++++++++++ 19 files changed, 103 insertions(+), 57 deletions(-) delete mode 100755 pwg/pcoatl delete mode 100755 pwg/pwt create mode 100755 pwstor/pcoatl rename pcoatl.cpp => pwstor/pcoatl.cpp (98%) rename {pwg => pwstor}/pw (100%) rename pw.cpp => pwstor/pw.cpp (100%) rename {pwg => pwstor}/pwa (100%) rename pwa.cpp => pwstor/pwa.cpp (100%) rename {pwg => pwstor}/pwh (100%) rename pwh.cpp => pwstor/pwh.cpp (100%) rename {pwg => pwstor}/pwr (100%) rename pwr.cpp => pwstor/pwr.cpp (100%) rename {pwg => pwstor}/pws (100%) rename pws.cpp => pwstor/pws.cpp (100%) create mode 100755 pwstor/pwt create mode 100644 pwstor/pwt.cpp delete mode 100644 pwt.cpp create mode 100755 sha create mode 100644 sha.cpp diff --git a/pwg/pcoatl b/pwg/pcoatl deleted file mode 100755 index fcadff7c8eb45a72f76b8e871ac214ad9d9891aa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 123080 zcmeEvdq7oH_W$9fWGGZxOj%vi3`-3Z5lssp*Di%hB1WcN5w1e<3NDJKMxn(GDJ&~{ z4%1j!Svivyl_jYKIabtIF+G%;ny!zE%x0*uxxdfad!5HU+;h@?^ZWk3e{@RL-JiAg z+H0@9_S*aGb1vNI%$O1$7N)3IgmSS$rN+S$Nn=KByDpQaq$<6YG-ZI|PT2K$Dplg7B-M+ej}H2Q%OQShw6a8& zRcfp!+G}8W6RjFAag`eDk#C|umi*|0!8A@7qbQjqL>Jph?joq2>$P(|l_s)3RjT@v zY@~mw>`yawfJc`@{DfUh)p|Kx&rBz?oJvWauBHyqO_HID>hln5WePEpk^Ntzq~kMT7vtY0`1h{o?c%R;<~`JJUCbmDLtc46PY%Jk z1&xKmzkzWlg^+&~hJ=!T&_e$i2((c0PoSfr@Pih3BODz{-VLXO!gpD;yAu5hCBM(Y z{@oV-ske|1>uI6i!v41`?gPgdqZsnCP zDf5=nT9q_BNpZUu7MGT|E4;boUbkCur_Y?~&i9mi78X``J>@f}PAV!b@yyJfU*wUz zken>ngb|}s-03BSUWGqTDJ;n?QVZE-`MF+?g2pSn`FR&yK#iv;W!{2vPj0?D4?n?m z&z^R9mUpzZEHC$z>1_G@^}~9)R%s?Rx;W><8rvcV&Jlp-C3jDGpToI zBfltf5qXo`mWM$qDIMvaH6m$5#S%nYu{*D*H1E2RC8di+ho)tf7F9U&g*bgG6rX6+ zCnp&Ms-!-P_Cq*Cc4(5SL$^HD7;@~XaUU6PSJAG0L42+pB#MkFR7#xYBB=NB$YqIj<;gzIuED%{>BWgd57$%0Zi8xpzh z`IyKh?z~)YUIDfBD<;@TPf5P;HjSNG$8mXVBwWhlW|~QpN2vJmj$&?>b2>td(pXiM zyUbHwQHs1%=w0Golt{k9tTVM0JZqD$EiEkhzi6EEiU=t+qJD*wlaU{Dr5V4X_9&4i ze{C;dcCj%Uk9P=Ca?8pnMv5u_S|&K$U`ehhTDfW#+sr9Q^_m~EuuPECenms0MD9ULSoRm@Aw;otim><*i)QWT&CoDOR+47t}LJ(2l|F0 zDdDxaIJdAwxpdMb_edzeG$VcDB=?BnBZiOCJ}1jhIXRF>9-fpGTpX=T%E_59G2NXs zeB|&kLA((u23{~HNJ%hjL{Kqlj50mbIV~$I!<~fx5^0YXj=TIwoE-GPzbK_AXb+sn z5E7-FAWA)yUIOdEa#Hd{U{otc{OrLsdjko_=P2kPZ9SDfC}Z2J#0m@>eo-PmwIQ!C zoG4Uc&q-$(4*bg;yaXpNvC6-I(M9|_4gAW}3r|pBT|nc9D~~XrI@PzZu(txsPJ|Tc zl=9IA`4f~Cz=_w0f4N=vV&~jP>BsU5MY*>!h|5dfeHQkdsEp+DBEj#aq;dJL&t8YF z^i-yE`Fg?cq0Hv8cL-S@rI6LsX1U-;DwSL=6y*qICCYSBe`yO%vUJ6rT@1&CD|azp zJHL}`rTRSiA&&Ru>=xy;6p6>1@HCcBFyR}xoM^&l-6-{>n(&p3rnv%s6al_C`VbT6h}%?3PH1wmU4c(MU+GvK2Qc)I}~W57EM_(cZXZ@|YH@HqAl z^()bUS98B;zS23Lda3t&gkPe9ppI{30k?%Bj#XBI0mp>Xu0#WlTXyYAHQ>~SdZig~ z@~L{c3^=u|UYQ15og2iViR>kPQ@9I?@WpJLFz!GP0wuzGDW;Qdq(w8?;a!SPcN*|B4f0(E{44{maQst@oNd6P4Y zXTXOV@B#xq%z&2}@Zko$%79;Jz^e^-k^!$Z;3Eupg8?6Dz}Fe@Q3kxxfb$Y4xEl<3 zszH8}0Uv9?fBX2G2Y&Ow|C|TDk3H)rSIwblS6$Sb?AIceOHYG!E~7O)Jxe?eP9TX=U1Q9Nzy2 ztxOw@!~550W!hjI-hY!;rbXlM{_C|eZ72@!&(+GbkvP2n3av~Vh{O9QXl2?s9NwR# zm1)Cpc>e&cOdEy6`%lu!eMC7-E60lRcmGlQOB)6BUn|oF0sYs?v@t;cwK8o8(0{E= z8v*oRE7Jx5{nyI0@T31)nHGHXUn|o>kN#_ATHw)ttxO9$`mdE~K}Y|!GA-ojzgDIN z9R1hIv~VBZAEuRQ!9KkIyPwtmJ4E?2txO9v`mdE~VMhP8GA+pHzgDJ&82#7E=Zf+g ztxO9t`mdE~Ax8hTGA+R9zgDJ&7yZ}DwBVxuTA3DF^j|B}0*n4@Wm;I#f2~XlD*CUL zFBIkPj;j5qjXK6(E7O9C{%d7gNYQ__jM+1FH_e{OikLqrKe{Wp{E(@9x2arjDz7q? zmz&C!rgE{V>@k(+n#$Rx@>EmVX)2F5l}DM%!%XFKP31F9<$k7eZ&NwSRQ~zRV1NE# zDt~P%e`zXzYAU~PD!*kaziukOVk&Pjm7g}1A2pR9GL`Q(mFrFARi^TCQ@PSqE;f}t zrt(} zOI3aE3k4bP#Cj0u7mg}N8eH|`C*XstK58tHFhE6+CVj|8y)4&FhjOrh zx_qx}Kmv04wlsp|yXqp(O%R%${-kDC{ieX!{yuO|52K>jk2cyUswwze5bH@d!5kkS{M8L z1k{>#ZaZs4Y!PA$c30giB07YlMc?YsOIWP?dJWA#_Vu%PH%msJ*`O1BZ3NGfmINyA|=LM~q= zf+^$>)l+^qjS?o;?)l{9@gHu-47^#iFD6)>NP!>v-x1CmwUeaK<#{B5v8_|;GsEbE zFAm;lBbF1lEG z3DK+*p)*gG8#C%@<}C+~NmDPz6nBESH>}@6?agx4S3XETnr89v)sGrUGX*NcsNtHO z4unxna~Ohie>OEHtf#yt=gEDTg3=aQeqWZG&=~%qaXH=l;Qk0Pd%lEP{PR&pwN|KU zrN*krPeQ!Ke-3yDx5XSW3XnFEpqBVoC2-OrKe3f*D$T~lxT8*$QeE(^%+FZ+K3fiB0(6n!rA7y_&#C@yw;G@BD zcl4wHY-jnpyXjM%5Te|*Q+k=yk)`EWte`DgOdru0p>YybB&trEyTlY;)g_xtQ~7suSl7C@&KZmc&dRivysV2YFo%QqSU^g-?GFy)8a2B)s){vZz#oy5Bn3O zT@GQvsyHHblEC&SagKx@2}5+WL!z>ucXM}zjEs>uY~GOlQedV;Tl~3zpeSCd7X<3B zm*Jrb#Y5=e)BdNvC3muG?xwMUBH;w7enk(1n?p4J?Le3sQ?A;66h zl)OyBXKTV5e%A>YK7G%^`Ju)C0Q49-wVH}@7xM?0<6ljE4qCjhV#oQGAN5ss)hs_6 zRypFPO-A2oY|3Nri zzca!e5w^;eovu1(XLq#00M#6FXu`g1zpG}sU#aXVHlhdPvHkXAgh&n4iIwKsuY)X* zU8!>(9q8=RwQA^zCKQ7IYSZP&8PvM3@(49ihuzZ=-v{XDb7C%Kclp8z*E?)kp~zH0 zoP5&_J8Dn|{l3aCeAyk)=C4bO_c@Q&IXfr_QO!r2K6Jb}UQWRVV0GCYbz z8Al?{quuQyYhStyRgM@8b&LODVRtqUy;%L}Ie{Vgf@=jy zeun$>U`a6s#ywgW9g{dasi~3DMQ94qhD}r5SU(+^Bd;O$y0q*7yT>021Po5sT$W7^ z?Q~(;TH9>&j2d2@wN4RWvCmU{QJXKq!Z!^*7%EgEoBC8O zbdPp-vu+8-2H_B*W!3YaW3LB?=wrr~sr-9>fxi(Lb%Hi0P z;1+gs3i8APSL}*r>F4kUYFs~#iSq9|5aivOLy4F;?P#K{dlO=-{x)0$Z&8duti@0F z_$d3arJ`2hN#SdHUSb}}ilDZ#5KAsJ)`Z4385^U+G&+o+-8Akl>g65ApXsI)D^wlb zHxZ`|9AVKq;tbg#QZQ_)&&EG;hpeJ)AI; z1}KiwD0LDwMX$Dfr4EDW(IzU6*-<%3<^LW)x^Ji2<4t~5T-5#piWxXG_U$Ei6yctK zRWlYITFm$$1Y;6+^@KUP9WcTnjIf-g@8GP2XDM8$cZ%$fH`{+6a1UbQb?6mclM z19KZ~$A^vwm%RJ$a^dzLE;LwY6*KL=N{kFm5e#yRvx~ae;ygqN1_MTM*4gQbeGUFK zERAGwDlA5=$~IqHt#fy`d6C^FwTj^0{v{5CUd`T3kaiUG=|8ZW(QdGLmii&ddz7DP z$ly$47Wfx$*OxcNoMb04b&#~jzWePu1#1GjH7l@;M zAFau#A1#{@JC8$#7T02&?OObaWK|_DsfDJLQ1q=qQK3w%YNV?XX7n|!RJ1aQDJp#Z ziB!;OPHGRsvwF-Oo38B^x@PqSww{0>>x zEH9SjTGjN+QBLFB)9+o^~X^33Df0Gr=9a zvv5!%vyaembn8W1BGU%y=;y~2p|pgmn&MOw6cdQAQs`&yK>n7j{s8H3H_{U*UahS^j>dXHr`-3E;Y%Wn`xY585^ zvu1g@Xq$FzA`b+xC>SlDAlSO)`y^kRO+RDVG|Z+{akNeO$7VL&%DphprfzY=3z-Y& z_=Y&)CCoVcG{{PY7b=2QCUqTb!SqLusil@Q*rk2O*%hh;?;}t&-YYo7YD&Q^Z_zsy z?`cAldVek#ww@Mk8+4m*_v?ZtOBe1LV0^c}@ks(jPyixCPe5B@_kwMzeT|>F23dD( zHU7;tqC(f`J_i3K#5k8-HY;NSIbaQT4l?jDIxYU2MG=87*TZ{75wVZ;a0x!kDceYr zQ$$frSuqh@vP@G}EQo_eRa!R0dKe|xn6g-;y9YZjem_yZ$8@y|bkmCAm$zlvbPL#5 z9KYdK=#x*3>x0;g8zNEn&rOFmPyqXu*JATf9rCFg9>0r|KRhMGfoBf&LilD?ru+!6 ztrA_YbHbnEVA5z|tGM&4#YxzSE*z)Oo|&9?fd~y}BXl7%075bmAF<$z$7u4I+1of& z6KSwM8!n;8Bx2+CsjS^3tKbougnLn(`LN#*dkz{I`IrdpJ%uzQMp@blftB7{f1tqioVN-uaKK6(L{-s5dnIxXaNDBJrbmM-Q;!_58`58 zr-UJFtxu*0k+s@(qMr2Q;VvoU$Z$|qO5`n0dUmS#_XEHo(DlLxXzd;GP@i60fR|eQ zgD4HxC1RqII}o6MBlK+PxOJ`?=Q>)KG3+h=yMt>Uz!=ex)Mdkgl?Y`~^Gk|MEKmna z)oRxSS9?xWGdI{XRD*+pYc2`d;9K0FUqMIZ+4wnX)7o1UQ#Z-ZiTiyeM7>{G9ZI;=t3mp;2fGQ5MvINGR7P_2{K}=v>f`D$b#k^dV-J>DGwP_ z&7psQtQa~ihrU9u0nntOd3Jm`bOAMN%%P8>O=AwNqX)Lh_g>$lSs^{zn1HWye9{<)TRUr(%uD6GiOl<|6j@Zln7@|8yLl(D^vtbdZ*3 z)YVss4II)4j)ah1v4f~wm*M-$e-j=MQ3^VECdC!CWN9TGemGPvkfIo%B0Wy|2>ocLGr&8Wk@xWKw7fT2{*IU~LiVr0RdMb*>vWw1~ctrYL?@k8}F*qp)}@%yl+S$ljKXAhA5ZM z&HUK0bl`R!{hZqU`PtMqsAH_&BuO#4D<1GyjCGMiSS{I|F5DL zJRi61J@)x{rNw+)106gc8{bBUEasy~lDt2rr-|qko+_S1$3WVg#c(?`IXd^D^IVv| zVYmIm`-_~N-ZMxc2``s{;J;OjyR$3$;K%j@+C8Uhh-R5St~VW`H$_}N`NFnuOPSbF z-(4Vxxc|p%(m9mVeD#?G%F_V8?~mvEexT^7*w`8Kk~jj;_HVuSQT3=NaTA3wK^Vx5 zAo|!7FU5$F*6!MWz)LFP$)k4HPBLPCXm{;@hYT7`6jo_>?oUWGL89v2`=df1-I2?l zwfJum2-3T@+&^RDBeNi0{1Ja41woG#3>%a< z5oa7S?}@5-HwILn%bJ9ID1K|F$Z^>lfnXOJ!nf+ zEDX@*3u;LZ^Ngoa$@wIB7XL4qWsiT1IH`-8d{?(w_6NMN5j@N85XeqMs+iB{6v+h7 zvgHCX&$5V4k`t2xwbfa6iO^@9Wgn|aTbpJ7qIWg$5baoIStGs5Nw;mmv#gL_*9=hS#!js5XdvIkR4><-W++CPgWg|^e(mXx_o2s+}Bg}cN{Ds);@ zO~sc*k-A??#WoZXsAVLKN6iF1C7}Wdts}@QDp99}&lZa!c~`h>7K-$|9g6|!!D2vl z)x|)#V7hcc9ID`OA}0}4c=rU+7F;R5fg?mq@WwUu))1Fb{&Qc4eWA0v(R;36hz)oS zZ^q&M53zP47@nqgLFArH^z1dkqmGK6HHsp2R9IUqisVWR5#INu$~5-q`BZ#;t1H9z zU54*~_*%q1f3n`?R&+T5wM4`uP%VTe0^?B}%bSBj%c;hGrP}uk9r*%x+43Y$^y7U| z)JEulD3al#A8(2x#enF?Jt$7~{W#Uvnc>?n-dGaWT}U0E`)HpFu);<*{|+=O`Egd0WN9!Pu66ZVj`!k&0hBx{AkhKV9s z3k5Cy7!=K>4wt63!_;`lp|KW!^B0<__hPleo@Hkun`+pDs_%)Ahr8LyHVUI^pib_# zg;8En)Qs|>805U6xEo*a19g4;!VUa9TQfegrZL*9d0Tb^IQI`S%oy7N-MUi6H zLB**giWHG4^CMOTO0x7`kME}p-#;k{#M7ZWE#hLTgw)llCL-1Kd!q0+7 zFE~IkW+H9!AtIAmoG5`K-vglGG~I+JQakykQ^F=J6?DaNqoSejr4gN`_iTR>-9Vec zFHJ{p3);bk+J|5;c-t=TGrP$Ck4W7ZXJ_oabmkM~PkaR~q#g2W9TCKzhgYKwL1r~G zrEeaEGO?=2Id_lff##}PMUf&5ncy|~R;ZtT_ha|Ds98#TeQ^|Hd`X^DD*P{#!yC>3 zo{-W>3*9BqxQN?|-$Qlqd$e)g^@;~?7t)+H^zzu=ozr((*X^ThL{mw|zbGR9F*Us6 zGfj;~a%UEb#%Z-rq(gE3A*S5`$;Y&k%fL2~V##OCRDCZF9>i+FjDfzs)JVW;&9?tbNL74|$Mie#;rVmm~Utc43&{Ewh$-f8Wm=W?_h7%awpg*YismBBww!42Zbu?S3LEr zNffEq4k|uDqV{X_-k(V1*R0WZ;aE~zqhqny8P;ezvDDXS@k>{z7;=q<;p%r2#7?k- zET=bniOMGvV$G$*d6Ol?-e9o~L50|K9w*vxY4gCaLUaawLra$ku_w#<8#*Q4 z@`o+-s+_I#I7l0IaJI7lX+Iv#M~+Ln{kWuWfwaMDHKv8buuPkMSl@5UGBFHYc$LO< z;vHx3GOzDq9sVl#i;p3n@7x=JL+blEq;jnFaXi$~pkk=!lY~rpwfOi8dun6**U2wv zXX#@gp21N5>xBpk-h>9)#+ob_$dlR*N@FMCg$!GmpOfKpd`X@s0 zW8_f(<(u`F0B*!*m;AEtX8I@%*XFD#M)kaOzc8)Ezg|$0aNeemro2QwB2(yBU2xF8 zfRAd>YVBy@U^rcVgp&3#XC1FuS{?FGGgyu7?x&JZ9|=0rHuWDPi_U!iZx~kJZ)O$u zxBDEeMjYDB(eAUSJEGc1v0u}iNDcoLy9CoD=@#7~R}tD?kb>t06{FQbALVEzfQr=e z1dA2?RWtuf+`1mqXf2>F%LGap(Rz(Q!o-QCY+ZaVB6sp#kfC?R{-eeVsBs)zhn9nV z`cubeMgQo18Ke^$OK~Gbe_sp5PO|G{aWoGJ;))q_KXyK$@|Fmlpa;#3(1Z7kj6LU3 zrQ9XI$%77yY}P$TK}HA7VJAjsxv-v-(Hrvhi?(JODUlMs->#2T_t>{VjE?3&yH;dl zZFZW>(X+r&F|DzA7p950qQ4p{+$YaNh2=l8Slb6$TtyuHmDc{!L`e|C2qO&Ra6I-; z)a`emA3^q?qIa_fAFbyF%~?bfeXk@`>@fQtu&qPd#0}MNbC8SdGz()VUkdAl{jfs> z`NCjROdgSW?GDI@CttGH)l|e6N!K=GRR}t^>u$@jAi;4a#%YA`z%R#He_>gRf3Tn; z&NAtv%wO6#{f@=16D|;9ALFAsPBwGk`0a=9Tl~`g?s|W@N4?n8zIu-?)_WAMMqW=A z``|5Y=7<%FM?`BU)cWZ`MmFqdyUTJI4wvnUh^6SaiP-UATSsh?;A-tqjA4}do`&8c z;xoq0KT~HYk#%5^l!>h8RxOd8|Ef$4K}U-`KtWkjU)j5lfDIBHhhiL$HQyC;BD+Qp zuv+>k<4_y592V<%R~xkncv0*BNgT#g9G-v%k0sxIFYLx|AJpw1Otwnz& zY$d&LA#XK2hjsh45!RxPBWWUZ1+Dz*sPTERzQBbTI^(dwhA7dcV;)A~hQGsZLwFv` zr0yVFFf?s7DB`B-PfOzuqR84;=W`3e?$mrhw^MEwDf+Gm?#K9)WP+aF2x zmq7cm%!nK|ELArwKa^o=6NdYfC{!`zSDQYlmDPkBY@0TV47#7dw%b;>9wn;s`hGjG z?!n$__oalG2YEVPp~HO(UM z==r0i#Vj+WyA0BJi0_ljea%(WH#DJriwO^cUV!Pr{j}2{eovrDLuIfA;|VjZdaY=& zm4@JBO0b~cVs(^Hj|9Av;XebGi=lv@X1G$oIJ0FfcQZa(;!P^PoN?M>%Oh){W&y)n z1x!cR0-nzBjRL0QQ30niO!-^9@rP&lIL?-@cVzg!A@gTZ!#KAzzs#V9y=DIs`3PV# zj+YGm{~g0U0UP=s&hRcl_5L3a{l+h!mbljc_ZXiB+|d7*89qtCTL0HGya!Z1=@VB5Ww3Q-zXoNS| zN|8Mz^=DftvWKMl*h)RjQhxYU@1rq-3gFHroY8H<8QliEcck(S&zj}eZL6vMLLB4B zV5_C#Y!qdXHBj+Y+$!TaU6o9J>j=6}Lj00cBSGi1s*fXJL5u%Xp;CK%6)CthgOix-wX5uB{Yh4)XDfNKe*wjbo|1f~5YNLDd&~U_($v zp=b!ILU9xm6jYNXWDKg_fMlK$LG>Coe)0(zA{}eQHY#dCbutco?Ssl=6;vNSWF1uM zj)C_8C&O_Dw|3ufndI>&K95WOo1j_#%OU+qu)L{t6ZaRbrG?~pde;;zZ)!c5YYZ+I zI@TKcsj^&Top>`iqt1bZ5l=(ig4cp4*Wu_D&ztENcH$Ryp`>LoU{IW+~XSZ8UCOl--D+~>X5hMbI_2V zFAhLj{F~4b}w=H+4E%#)+C2XzvOj|!M#4kU! zuKO;cz?wTb*eafu;$%&~@B6hV|NXWJS7y|YKXER$)3efjA56$j_x&(o<^(q=77UL)dnI}ze-XtFrlgZ3sr=jZzrzDz_#4;iB|r6=Qd(J(?@$tyA&O&hp|`-H zI2KlVDk?k`N@i|F#p2TPd`C&C*Repz6_z-PJS7WBY^bBKB(L04>?!dUmMml#uQ$?_ zG-71#{Jeb6f`tWz*IrjtTvA$geR+kqa?#?dB}rA(MOX|i+5rLOeLF3*@cZF=Sv zGqPr8&$=?_s@bDc$0QC&8#w6PYX+a6Fl3l}`~_Ffyi?S>(y{mX?nl>z?W^ z_v988mFBq%ODa6&UbPJ+?T$41T)lGmglSpc6mJ3K@{^L>Szi3@dUs)QSyB45EO)9q zy<}18b)NF{Ebl09Wm%CY{j$s{i)LJoI-}_?+E*ndC5@P$TTw`V%Dx;fOV7*lCMD$+ zF)HbNp7d0PGE)5hKoD%zt{dTzi5Bh84(vLc#+?Y6*Rv- z5J<-7^$mf*9MH|6UeGV@3IzItzO^D;^94 z;_-{p`us5v*o1FhTn*ZuswiI2)u?|P=tj_oKzDkLcX!v8O4|)~o zZqTKmhd|eZ#-Ja62OSD}1oR8gzK;h2k?2=4=pfLUpkB}yK-Yo}+z<$C2HgzW4!R4p z3$z2&1wYJwA`mD5eHOG9bUWw<(951g`=Bd94}tCkjltiK@q-Qp{SRmcXv$NtAM_2- zwV;PVH-nzMF%Z}Tnh)9qx)HQL{w7Bk=s3{HPh3VHz44|@Kl zKp+}_K4uzd0%#tn3v>-=0q9=PTF?jnjCMg^1lY9b;RH4ijoRC2-FQa z8T0|re9)&sSAuQ>T@U&m=uXha7WfzR4bZ-4D9YEM$)NpP;a||pK)s;Vpld;QgKh>5 ze-rJ3o(p;eG!?XOe?{r>7qkl+51J2}3c3<>KInSTwB3O~8|aF+;3v>oZzG=0M4Y~Z z_CU9SE(6VIgFNVV&{oj1-bMU_&H{}&OHpnD9SWNJULcSIx)pR8=(&Fl1R6na2W-=(EdzZUv;p)-&`qE*pP)YI z`JkPkGeP6dfjywfpnE`bKo5gffyUtt@pYi*fHr|%0oo2)3fcwwFlhWhMR^`H6|@yJ z2lQgRV80Bs3v@l`ynXO5=(3e4@2f;qj1kf%}7wEJOFt$ z80aC;K6pbY?p#F~2bu_44w?zt09pq63}^%B37@0ipedkjptC_cK}$j71|x5RCW5{R znhE+bXc;JdBdP(^^LNA{=wi@4p!B7!BcKm}_B{{38w)fUbnqAGH>eY|3N#ON9q3J< zO`vyywu82Tc7gW(5`M#Dm$N}rL6bmpKqrA#fi3`D2l^K1R?vN*pMZV`dK5I`ADH(; z5GSDHKvO~IfYLWBt3h{zHiG^Ov>CMDSBOv0WKiXN%rj62=-r@cppS#j1AP&+8uTxq zjiBFvHiKsSvHpNA1dY5vQI>!X0<8m`4EhXcKIp0Y5wD;rpc_ClL0duRgZe?ML8FH% z%AKGIpqoKmpl^T{fVP9yf*t_f02*@u^+CO$hd^sUV}`+Q(4nA@gJyuf2wDXC7tqz9 zpMq`#RSqIuTdX#7HAvjQqWG&he6{Ku?~YKf}VrB@=T)NVxAD~M1Mh( zL0ds*gZe?ML8Frp_n--&yFp!`hd~QKe+IIxj571=L z_d#cZ{u|T_I^cWcThL2EH-i>~?g70E^a$vSpnXT8-6Mz-&;y|JK#zh}gVJ9mYXqg= z(bWuk8E6OS98e`0{Ree`t^-X2eG+sYXe($n=trQ9pk1KNpr`&5^+9{$)s2`@h;PuL zpp!r|K(j%MKr293gRTMH2ugoqa5v~%poc&Yg2tp^{&%51=ueLPv^kLBWRIC@E zsh}T$=74sBR)O~TH|m4-2W!p?~48Ql;jaV%#_ zb8R4iuz~?SUa5MZIfe(G+ru2!wEcV33(bdW&r;j~<&i`rU^e;xM*0;dw_>=SoO_@v%Frotc;iN6v5J^=p|P>p|?&fg9A zP4Lr<{KY!|5b*sr`eV@VeK!1|;J*+4$wvL@y8aCCTfoP3(CsVG`9Qy^M``}Echax)%d(r=To(? zrI{IGCiQ&ahiTX@tMiHG4gI_7mO!8$;}E$Iy;OC$Y9b<*g$YF@lYxJ)-irJMdn0$5 z2HCOggw8}0}%9hrNsSSNeS{(?y(gS_+A!3YUbwVWiw05`>5i16R z`s9j|v9rWzQ+S!yrvmT~puOxMzMPy?zZU$n?+cyV9N=#N|77rMjrA{G9Z?e*UPX-^2&r+^5L_{Jtk3PQecqU*yYV=40Ecw_m8YKNI{t zs2^+OPto~a@OOfb?U!C(rV25S*Mh&-#=gzqll@k{-oy2+>^lN}C+b`A`}V?l$nUNB z$>8?|-^#x;!S7+i_k!PL)4#RgAF$zX2LBTaega&&2mH6e|H$ZH!@LULsgDJn|1N{A zR(lc$_;-RIYAk6V+=Y2{Gx*;jpF}=4P#@1s!#w^Yt${CKy;vb8G{sOA^p5+Z^Mys6T!C{!*=i|TGS^Wb%CD@{xA86`uGXv%jb|4ef-xs$K1y`F*v_?JP;^_ z4m~F=5Y8tbECc@l_@R7D{0G7R8~9dz+zS3d@Xt5u&(+8F6Yzfk-^zza!T$<;t31-b zx1xM$Q-2)zAKKKP1OEFq^_PL)Vo`r6`ZN=9{08{HqkYxm19Tr6WBIM&4%(tRAW!G| zn>OGaz~~QJTR+!*(g~SmPvG9qBttsL=W%^-wgWzHE%o+F^!kb5zX1MKMt*pv5O4s? z1iusf93!7>Fx;nkAv5Sn>v5y!E5pIJ8n?~hJHQV$Zsa$5-f|ZB!fz{JmAbZv@Ei4+ zo^wP$6$oJV>aub>D)KQs|A+zqJR|=a-6xa5KLz}8Mt+6P&jU-p z-)cOMfIkF$D}T~F>JPr~XD*`b7yLQ-Bs`CKCbT|^uYB+~f^W5-SjqfQd5m)Pdhnk| z{k_Ki8e_Rt_MK$gAY1TkAaJqOo-#qk0m&YP?9xqvz=u|PU(@v_z*&R;gfn6**~g?T z?ek|s_Ib!YVU)f6_K5n()loG)!tW+YlB4HysecXx?l8)w*GH_5tceO=F7-LUTMxNL z$WsEt98IcH1gd`tYv;5)##nveP5 zr+{x2-z&jS1OHg!dlO_2L-ttW`xD4UzHn^u9gQ2CO_1Gc^n-D14e^}}*|aA6_@;Q7 z1G(2A*I}j85HGcmt$fiwUN%BzBV>ZcisD5ct%%&)1{r$xi`{}A4~8?oPVf(dKg`I_ zmvKvD8Ak^qFNK~1#7_i227Igfnc$yp!!H9r!G_-eeu_=|o4}s{zE!-pfltr6&ouUL zrry6!@JE0jDi$566L%W+<>1dU)+Zm!qXUIx4q;A}u#U*=c-_y2y=M;ecp(#Nk3xQ| z0>9jbzYhE|@U8mU1pa*Rt=8an@UOSg-vxfDP5pRuYX$fqdjAY(!Kq*@0zZ^}4phkj zzX1G2#`@$(J`bn-PxI&{$h?Tpk*B~Qb)6--r}SL99=bAKwvYQ($TUF4DlYxtKWxK~ z{+*&c1%9ah(0C<)PxYgTLE`zY+Xb!N(n#?kmIG-wl4V zMSTaV90LE(;M?VoxYKc_3>hmwCW0Ti)q3xi3I6HeTg81D`0+OU2JlY>KWH5fpCN*Q ze7FhxE5N6HuNE(cXCQ6hUjshHm&P}&r=8%>2OpuQ^9|2P;_&XrmEgOKe8l5YSU~M3 zf`23UR&kOE{`EHeGVt@j4>g7k=x+dj0r+-fMDMFSVbcb^$MS#;pWbh&x8c)!FVsgX z8PQJ=v!fL{Q7G9m{9WKHVTSgN=LiSnd?VRqkbU^oUzVkQZGdd~HtTV3 z1wS8rt213c_}AL-qfxQUhMxfbA{)L7{AD)$0`PCP;n#v+Ys23F{_Pfg@?|UdYr#Lo z%I`nxd5+$zy`kCKm-N1EG58SEW5{qmPVeDX*zjk9zr=>`1^-4H{#x)?+3+`mUuVPL z1O6Ht{t@u+wcwL4`{Kt#;2(=G(;!Rl{9EOldEnm+zE!@e2H$H_zY+X$oBGY*=iAip z0DrzsePsyFt8MB#z@K5mPXj;GM*lqUC)(7n20zWFek1rJZ0a|IpJ>5H*OdL`_ zL*W0-h984P@k0wf`En@u?}L9VzRZE_{oAeQMHTq#Z20TIzsH8(1pZnZemnSg+VH!; zZ?NIV;NND$uL8f;hQAK{TWt7E;IFjdw}XGP4ZjQgY8!q$HYh7> z_^IG8v*G7}zZ86{`^GBp%WU}Tz+Yg)Zvuag1>b>KZ3q8`Yw-*mpS69ad`wS>G8zAl zLM9P9JOoVX6L&{=dY|~)Bb7CSl*?@@)7e-N%54hIj=NjHUk7>+N! zL_{@4DlbM#@U&OLqVS8dJ_(EZGF-VWJgO~R`Ac}JkdM6rOVu;s<+~%4FC(OMN>&uU zH~CQ5(3^WJ_lHN-$0#>NMB(#05mESaTyI52y%(c&L`J<5qudvLYs7&Vr8eeC>2>=YThQD(yWXNc#y~$1E2J zJMr_dsISA6RorJ&F|IWnx%9{Is0SmIE!?M2m}v8NVX+rREe=}~*6V>V<>@fp9AVRM zKYsJTZyxx~1HXCTHxK;gf!{pvn+JaLz;7P-%>%!A;D6o&)wofm>$DU})3_{4IKMwA zKh3&P(v?h4u2v-^ZDzU6%>SHeib*cG*0Gn;)>z2i8I1F7uX_8d(G@JF@++eypqB46 zl^@}9jH=!tKlJ8u!R_*cIH$nJXzo8=Q4trNFVH2P`+~+ZpUxxcV)e=o|B+uaX^fCK zZk5H=c7mim)H3sXarqC-KatCLO-x+k+=f3B;c80sHxk4thPYZICB>_z;_As1Z?lQ3 zl|QI>0xMSSZe&GlhN8AF&eNemmHRh;jRt-e(0{nxg?AC@3UFENH-2qHDdFYJ|B=gm z2>gF=wez@`RVO+mlEyTX={%-oOsknTFl}VIiD@&_Hl`g+JDDm26mi8dbudk2n#MGf z={%-oOsknTFl}VIiD@&_Hl`g+JDDotfiK=4W$Iv>$TW>$-H(q_K{K?D>@?-b%-q;mN}jhb2{t zQqqbMiNh0Ma>&VT@gwT zr7fg_bq z$BOq5%$x|E<~E9lp23_5{n${EIMBvK?%@2i=@2AA? z4uzkptp`SKgmRj;4g}-ziX%iGico&1gvw75SXI<~9;^qek13vsAAvXQ(?a5Sk^Nsqcu zk>WLGHr=}&EhArAY7h__JkeIqnJ*ReyTlzf{c;mTSoc~?u=^mf-r$EkuAJqNfFshELDO}?5ykERP!pdI8 zKVK~Ybzjj3c@49-+jTy0(tqs@lC_W}C~p$pS|R~8;@2|1j5mg9EdK)I5qOY8m%6Xn z4?I-6XCW|1f2C8(t1@#Lzm)Z>IQ=aOlE01ZQTzKA<74MZJs(P<+<=Xduz#5Z)P8Me zd@b9FN5tZ4XZ*;OvaC+ald+K`J=d^2Z}*jR8IP}(@~WS|Vf>kkC4ROfN<>eo=Y>@g z7|i%?#vPYPz{U8tj4vpVfcX9sKE8n6U?_WbF+R}bw^OmvJc)H0$#~$T=cP)CE@b9z z#xqRulZXv8$v<|h6jaBhiE;HlM~%TslddlrKg{v0-A5qdlAe=urQB9Ylx);H8MyB}3DEEA zp{tqYU-!!LP)U?;7=Nuu0(g)puFvq2CFwWMNBS*Vgg;#+<3lPOvcm3OUX2@u$}Q`*GfS3b0Kb+NYCc$C9cL>Ebfm8|G*Siw=-_eOC5|4 z&XRiQJKuCYeX7*c#vK|cVdWpdRi85?NW^KO@mavhp0+VkT8-Ok#-m3|Jc*S(!1%^` z3BWvYy~%ig_Olv?pE5q&G`}+9WxHp3WPLTRF2Mpv_S~K$aW&5W!MHge_C`Y_|2f+^ zKvq*S7_T+8JFHGo92j@={%1AIuU;$_@GvVcF@BiiVG!%z2RxLYdqVX|#A%R%NY~;z z6*$>B>t$z`rWN0|KSWNsK)KRj91N< z_#Le0Kfu+x3<)v_3!iA$l$X9{eA10lTCIB;8X|dx=e3#-Z)1FKMzDM|0*vIR-X?L? z&UYE_UlA;St3%3Hu^x4N-(`H0DQ-`I0O=pYei$LuDN}%}HZvqhKFi-$E>YG0r{KOb zl>B_)q<^|8PUzij!uRqxUdWB?W!%s6UG4AVn6MU?`rRRCz)UTVDNd>A*pYtT%gD2ux)<2Z-YuI7xc(pK|m@Ne-vwUKL)N>Z= zSN*?&adTX?0;lz{HxD5Fel)t?V)+HNvaIU42NRR*@8Y;kk!)ojaMH7g9Yepvj;=Hq zO!66NqNs@92ZfJekR$x)H4<0%KW{Q#<&k)yBucNLQvRzI5>Wk?%y|EDiL3MRF~)mM zlsHc(O6bnyJ6DMoGMa zCukANA7T6>j)zpnPlq2#&*3@=sN=YU@lI1d{|DnQIi)<@BCdg0@6|psBuFuE(*HV- zmnySL$YZ~XIHikzmm^)@vHWG_vdnBH4+fJS^M1P*>?8cFYoz>MNt8DjA6_8=H6F_0 z7tvqNV+}07jqz&6k;cV!Ci1UpGed$D10R66jq8+XG&6m`N&m--C7{+lYn;Rb9EU3Y zFykwWr975Dah(b~NY6a>|0RqMW&HC+5>VrC5#t-CNPGm#Kg0NAt0kb0Z;y*Z_iLsF zz8*N)Q@cd!QRDV&#(Qvr;bB%Tg~230r$oxDZh-q#|wz|BS~`#cyTYd_M3bYrUL0k}(C z=ei_rzHhpQ@k;iaYENvslt0y!C)*h}&!f!CSRV6?F5ZqPMT|d)`AQduwbJi$DgVO^ ziL32qGyXQ>ovte+QEp^BlkN6%$5oUv!0(A-&Q37HBRcMhK}dQ zfs=l79{$2YK4+SgPh2kb$8x(5Grp%-0&1MU&bT?AGpC2P=Xv0?PN~n6<5|BK6PE0} zYJ~*Uem%^%d49dl_-4#+y3~34BjYb2pV6hRU;Qu;B5tpfc!wm)2^c@Z&G~8u<8S9m z!6#V$pNwy1J5@jQ&yso;mrKEuS^fvcujF}m7USz?N_q2oG!ucR)@4ya3V@TH<4xutu5%$4~0k|>3nE%kzB{>q)v&%A5DkOBpw}+b>7T zKhAclez>0TR2~=A&q;M;r~cgMLTwdSi|^pJfT&4 z-e-KiDQ`TC{*#{9*?x75_5xQwbIXDZoD&*P0Zw|Z;Q6K2eG)j$3)exZC4rR{VEjlv z4S9~P6iJl(8J}Gy0d*d|&A54<{=m2waY5H;NtE-ik^0T&jqj;=wGBj!umkh2uYN|^CfP+uepVB z^FH}i#+R}^>NYj2fh zRZmfY)Uylg23_ApNIJVv;(M!Q84t0sXJf|2xKq!!EjpNupeIz0@=C1_`J(zr}bj)4pX%xs*3Q_n81Wvd6q`e#!W$ zl~R8{Zudm=pX5K9B7qT%PhxzO$)1;0dCXV3QYBG7V|+d0k**IVQEo?jq(74Vki+;V zjNiIk0&0H;BVUkwZH>eSv;4P=UuzooM9ep}E{h7X960IOd$UAUnTx9=zJ>j-;-_I9 zBKhlh|9J{48^iehlO&*?JN?A?9L@vmJ|%If)U#%llvnNlk@34{1luzo{-t)CO!NJM zWfI@TTwB8-c5RWJr)h zEN|}DGQ=P4yVUn{R6mdPh1OFCob2CRF163%M(DW+;r)vxp!Vx~#?9v~7hs=3&oRx< zvr>VRo=bUr)p*;*xcU7GAN))5&$A)wbH-U1SHd4-dxo){ZvqeHpZ~D@br>JI)V%SR zFtW41lA}6avXz$GL+d%|4%zMn$ggzqG*HGdz8&q*rN-N}j4!xU;vY$(jBSv5#__yX zZT<`6C$WE2{0GL(=Utbqk$QS&NyTd1mNRa?&uwD-)vKlaK(^;FJ$f6BP|J(I(XUzH-|(q|c4oi|HCHBN>-B=xKqCvl`xacyCI>}XkD!1!LqFEp(qk3TH+ zT*iW`pTA_>{GP_@-%I(lnNo2l>)!@kt;>)gAG5sEl;74jhL(RFIQealX2xVBEYfz4sBR$Nc$BCHwI_ z3;PSYq9jqK04KjSluAHd*VZtew^ZV4-v@4z^5*xNMgyn)p8CC~c-H>|%TK>W0)rWU z^-ogIMALll`)7$)E)Q-um+|)55+BZb?qz&8=R-B#_Aq{lNzcINUT|%iq$y0p7FJ&IN8g1<7g>AlkL37K^*_8#%0D(y%BQhCM;I@=NCN6S@-$2N-;a@a9Ltw6 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 N|4>d;4{{zh{vSB&-oXF> literal 0 HcmV?d00001 diff --git a/pcoatl.cpp b/pwstor/pcoatl.cpp similarity index 98% rename from pcoatl.cpp rename to pwstor/pcoatl.cpp index 6f9274f..f2ae1e5 100644 --- a/pcoatl.cpp +++ b/pwstor/pcoatl.cpp @@ -38,10 +38,6 @@ void attemptCombination(const string &charSet, int maxLength, const string &pass return; } - if (debug == true){ - cout << currentString << "\n"; - } - for (char c : charSet) { guesses++; attemptCombination(charSet, maxLength, passwordHash, currentString + c, found, guesses); @@ -88,6 +84,8 @@ int main(int argc, char* argv[]){ argIndex += 2; } + argIndex++; + if (argIndex < argc && string(argv[argIndex]) == "-o") { debug = true; argIndex++; diff --git a/pwg/pw b/pwstor/pw similarity index 100% rename from pwg/pw rename to pwstor/pw diff --git a/pw.cpp b/pwstor/pw.cpp similarity index 100% rename from pw.cpp rename to pwstor/pw.cpp diff --git a/pwg/pwa b/pwstor/pwa similarity index 100% rename from pwg/pwa rename to pwstor/pwa diff --git a/pwa.cpp b/pwstor/pwa.cpp similarity index 100% rename from pwa.cpp rename to pwstor/pwa.cpp diff --git a/pwg/pwh b/pwstor/pwh similarity index 100% rename from pwg/pwh rename to pwstor/pwh diff --git a/pwh.cpp b/pwstor/pwh.cpp similarity index 100% rename from pwh.cpp rename to pwstor/pwh.cpp diff --git a/pwg/pwr b/pwstor/pwr similarity index 100% rename from pwg/pwr rename to pwstor/pwr diff --git a/pwr.cpp b/pwstor/pwr.cpp similarity index 100% rename from pwr.cpp rename to pwstor/pwr.cpp diff --git a/pwg/pws b/pwstor/pws similarity index 100% rename from pwg/pws rename to pwstor/pws diff --git a/pws.cpp b/pwstor/pws.cpp similarity index 100% rename from pws.cpp rename to pwstor/pws.cpp diff --git a/pwstor/pwt b/pwstor/pwt new file mode 100755 index 0000000000000000000000000000000000000000..3b44e44c6ba0fbfd6b1dac43fe4c12127289f2a4 GIT binary patch literal 83984 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 literal 0 HcmV?d00001 diff --git a/pwstor/pwt.cpp b/pwstor/pwt.cpp new file mode 100644 index 0000000..0ee5f88 --- /dev/null +++ b/pwstor/pwt.cpp @@ -0,0 +1,69 @@ +// Test file +// aid! 0.184227 in 9.95 Million +// 56.9 Million Guesses Per Second +#include +#include +#include +#include +#include +#include + +using namespace std; +using namespace chrono; + +atomic found(false); + +void generateCombinations(const string &charSet, int maxLength, const string &password, string currentString, int &guesses) { + if (found) return; + + if (currentString == password) { + found = true; + cout << "Found " << password << " with " << guesses << " guesses" << endl; + return; + } + + for (char c : charSet) { + if (found) return; + + currentString.push_back(c); + ++guesses; + + if (currentString.length() <= maxLength) { + generateCombinations(charSet, maxLength, password, currentString, guesses); + } + + currentString.pop_back(); + } +} + +int main() { + string charSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()-_=+[]{}|,'.<>?~"; + string password; + int maxLength; + int guesses = 0; + + cout << "Password: "; + cin >> password; + + cout << "Length: "; + cin >> maxLength; + + auto start = high_resolution_clock::now(); + + vector threads; + int numThreads = thread::hardware_concurrency(); + + for (int i = 0; i < numThreads; ++i) { + threads.emplace_back(generateCombinations, cref(charSet), maxLength, cref(password), string(), ref(guesses)); + } + + for (auto &t : threads) { + t.join(); + } + + auto end = high_resolution_clock::now(); + duration elapsed_seconds = end - start; + cout << "Time elapsed: " << elapsed_seconds.count() << "s\n"; + + return 0; +} diff --git a/pwt.cpp b/pwt.cpp deleted file mode 100644 index faad8e0..0000000 --- a/pwt.cpp +++ /dev/null @@ -1,53 +0,0 @@ -// Test file -// aid! 0.115973 in 5.7 Million -// 49.4 Million Guesses Per Second -#include -#include -#include -#include - -using namespace std; -using namespace chrono; - -// Function to generate combinations using recursive backtracking -void generateCombinations(const string& charSet, int maxLength, const string& password, string currentString, int& guesses) { - static auto start = steady_clock::now(); - - if (currentString == password) { - auto end = steady_clock::now(); - double elapsed_seconds = duration(end - start).count(); - cout << "Found " << password << " with " << guesses << " guesses" << " in " << elapsed_seconds << " seconds" << endl; - exit(0); - } - - for (char c : charSet) { - currentString.push_back(c); - ++guesses; - - if (currentString.length() <= maxLength) { - generateCombinations(charSet, maxLength, password, currentString, guesses); - } - - currentString.pop_back(); - } -} - -int main() { - string charSet = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890!@#$%^&*()-_=+[]{}|,'.<>?~"; - - string password; - int maxLength; - - cout << "Password: "; - cin >> password; - - cout << "Length: "; - cin >> maxLength; - - string currentString; - int guesses = 0; - - generateCombinations(charSet, maxLength, password, currentString, guesses); - - return 0; -} diff --git a/sha b/sha new file mode 100755 index 0000000000000000000000000000000000000000..136060848dcaf405b7c6c374e6c198ff873a0008 GIT binary patch literal 23848 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 +#include +#include +#include +#include + +std::string sha256(const std::string &str) { + unsigned char hash[SHA256_DIGEST_LENGTH]; + SHA256_CTX sha256; + SHA256_Init(&sha256); + SHA256_Update(&sha256, str.c_str(), str.size()); + SHA256_Final(hash, &sha256); + + std::stringstream ss; + for (int i = 0; i < SHA256_DIGEST_LENGTH; i++) { + ss << std::hex << std::setw(2) << std::setfill('0') << static_cast(hash[i]); + } + return ss.str(); +} + +int main(int argc, char* argv[]) { + if (argc < 2) { + std::cerr << "Usage: " << argv[0] << " \n"; + return 1; + } + + std::string input = argv[1]; + std::string hashed = sha256(input); + std::cout << "SHA256 hash of '" << input << "': " << hashed << std::endl; + + return 0; +}