Last active
July 5, 2019 17:42
-
-
Save thedavecarroll/74e370e243ba8847db0b05b329fe2e24 to your computer and use it in GitHub Desktop.
IronScripter Challenge June 28, 2019
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
KeyInterval: 1,12 | |
Message: PracticePowerShellDaily | |
KeyInterval DecodedMessage | |
----------- -------------- | |
1,1 PkTr2sz2*cF-raz7GuD4w6U#gctK3E@Bt1aYQPic%705ZvAeW6jePRfpmI)Hy^LoowCnbJdOSi9Mber#)ieU*f2Z6MSh7VuD5a(hsv8el1oWZO7lpKyJlDz$-jI@tT23Raikq=F&wB6c%Hly | |
1,2 PTrsz*c-rz7uDw6#gtKE@t1YQic70ZveWjeRfmIHyLowCbJOS9Mer)iU*2ZMS7VD5(hv8l1WZ7lKylD$-I@T2RakqF&B6%Hy | |
1,3 Pr22*-r7G4w#gK3BtYQc%5ZeWePpmHyoonbOSMb#)U*Z6h7D5hselWZlpJl$-@t3Rkq&wc%y | |
1,4 P2scFz74wgcE@aYc%Zv6jfpHyowJd9M#)*fMSuDhsl1O7yJ$-tTaiF&c% | |
1,5 Psz-ruD#gE@YQ70eWRfHywCOSerU*MSD5v8WZKy$-T2kqB6y | |
1,6 Pz2azw6K3aY70W6pmLoJdbeU*Sha(l1lpz$T2q=c% | |
1,7 P2*7G#gBtc%eWpmooOS#)Z6D5ellp$-3R&wy | |
1,8 P*cuDtKYQZvRfLoOS)iMS(hWZlDT2F&y | |
1,9 PcF4wE@c%6jHyJd#)MShsO7$-aic% | |
1,10 PF-6Ut15ZfpwCbeZ6(hO7-jkqly | |
1,11 P-r#gYQeWHyOSU*D5WZ$-kqy | |
1,12 PracticePowerShellDaily | |
1,13 PazK370pmJdU*a(lpT2c% | |
1,14 Pz7E@ZvHy9MMSl1$-F& | |
1,15 P7GBteWoo#)D5lp3Ry | |
2,1 kT2s2*F-azGu4wU#ct3EBtaYPi%75ZAe6jPRpm)H^LownbdOi9be#)eUf26Mh7uDa(sveloWO7pKJlz$jItT3Rik=FwBc%ly | |
2,2 krs2c-a7u46#cKEB1YPc75ve6eRpIH^ownJOiMe#iUfZMhVDahve1WOlKJD$j@T3ak=&BcHy | |
2,3 k2zc-zG46gtEBaQc7ZA6efmH^oCJO9b#i*2Mhu5hvloOlyl$jt2akFwcH | |
2,4 ks2-au4#cEBYP75e6RpH^wnOie#UfMhDaveWOKJ$jT3k=Bcy | |
2,5 kz*a7wUKEaQ75WjpILoJObrUfS7ahlolKz-T3qFcH | |
2,6 k2c7u#cB1c7e6pIowOi#iZMDae1lK$j3a&By | |
2,7 k*Fu4t3YPZARpLoOi)eMh(sWOlzT3Fwy | |
2,8 kc-46EBc76eH^JO#iMhhvOl$jakcH | |
2,9 kFr6#ta5vfmwnbrZM(sOl-Ik=l | |
2,10 k-a#cYPe6H^OiUfDaWO$jk=y | |
2,11 krzcKi%eRoCe#S7e1lzakl | |
2,12 ka7KE75pIJOUfahlKT3cH | |
2,13 kzGEBZAH^9bMhlo$jFw | |
2,14 k7uB1e6ow#iDalK3ay | |
3,1 Trz2F-z7D4U#tK@BaYic05Aejefp)HLoCndO9Mr#eU2ZShuD(h8eoW7lyJz$I@23ikF&6cly | |
3,2 T22crzu4UgKEtaPc0Ze6PfIHLonJS9e#e*ZM7uah8lWOpyD$It3aqFBcl | |
3,3 Ts*-zuw#tEtYi7ZejRmHLwbO9e)U2M7D(vlW7Kl$ITRkFB%y | |
3,4 TzcaGw#K@aP7ZWep)LwJSb#U2SVaslWlyzjTRq&cl | |
3,5 T2F7D#tBac0ejp)oCO9#eZSD(eoly$I3i&6y | |
3,6 T*-uwtEYiZeRmLwO9)UM7(vW7l$TRFBy | |
3,7 Tcr4UEtc06PHLJS#eM7h8Op$Iaqcl | |
3,8 TFa6gtY5AfIwbb#ZS(vOp-@kFl | |
3,9 T-z#tYiejHLO9U2D(W7$IkFy | |
3,10 Tr7c3i7efone)SVeol$aql | |
3,11 TaGK@7Zp)JSU2aslyTRcl | |
3,12 TzuEtZeHL9eM7lW$IFB | |
3,13 T7DBaejoC#eD(ly3iy | |
4,1 r2*cazD4#g3E1aic5ZW6Rf)HoobJi9r#U*6MVu(helZOKyz$@tRa=F6cy | |
4,2 rsc-7u6#KE1Yc7veeRIHowJOMeiUZMVDhv1WlKD$@Tak&BHy | |
4,3 rzFauwgKBai7vWPpHLCJib)UZSuavlZlJzITaqwcy | |
4,4 r2-74#KBYc5eepHonOM#UZhDheWlJ$@3k&cy | |
4,5 r*ru6t@YcZWRILCOM)*MV(8Wll-TaF6y | |
4,6 rca4#E1c56RHoJi#UMVheOK$@a=cy | |
4,7 rFz6ctQ5ef)wJb)Zh(8OK-tk&l | |
4,8 r-7#KYceeHoOMUZDhWl$@k&y | |
4,9 rrGcEi0epobeiSueWl-a=l | |
4,10 rauKB7vpHJiUZavlJTacy | |
4,11 rzDE1ZWHo9rMVlZ$@F6 | |
4,12 r74BYeeon#UDhlJ3ky | |
5,1 2sF-GuU#3EaY%7AePR)HowdObeeU6MuDsvoWpKz$tTikwBly | |
5,2 2z-aDwcKtac7AWRpyLnJ9biU6SDa8lOllz@TiqBc | |
5,3 22r7w#3BQcZePpyobOb#*Z7DseZll$t3q&%y | |
5,4 2*auUtBY%Z6R)LnOb)fMu(eWpljTiFcy | |
5,5 2cz4gEacZ6fHoJ9#*MuhlOy$taFc | |
5,6 2F76ttP5WfHwdbiZ7(eOy-Tkwl | |
5,7 2-G#3Y%ePHoObU6DsWp$tkwy | |
5,8 2ruc@i5emoJeeSDeZljaFl | |
5,9 2aDKt7ApyJ9U6a8llTic | |
5,10 2z4EaZ6Ho9#MulO$tFc | |
5,11 27wBQePob#*Dsll3qy | |
6,1 szra4wtK1a%7eWfp^LbJMbeUMS5ael7lDztTkq6c | |
6,2 s2a76#EBPcveRp^oJOe#fZVDveOlD$T3=&Hy | |
6,3 s*zu#ttY7ZjRHLbOe)2MD(lWKlITkF%y | |
6,4 sc74cEYcv6pHwJM#fMDh1OJ$Ta&c | |
6,5 sFG6Kti56fywObeZV(lOJ-2kBl | |
6,6 s-u#EY7eRHwOeUMDvWK$TkBy | |
6,7 srDcBiZeIodeUS5eOlIa&l | |
6,8 sa4K17ep^JMUMaelDTkc | |
6,9 szwEYZjHw9)MDl7$TF% | |
6,10 s76BPeRoJ#fDvlD3=y | |
7,1 z2z7U#@BicAefpLodOr#2ZuD8e7lz$23F&ly | |
7,2 z*7ugt1Y0ZeRyLJOr)ZM5(1Wyl@TqFHy | |
7,3 zcG4tEQcA6mHCJb#2M5hoOl$2awc | |
7,4 zFu63tc5jf^wSbUZu(1Ol-3k6l | |
7,5 z-D#@Y0efHCOrUSD8Wy$2k6y | |
7,6 zr4ctive)oOe*Sae7l@awl | |
7,7 zawKa7WpLJbUSallzTqc | |
7,8 zz6EQZeHC9iM5ll$2FH | |
7,9 z7UBiefod#2D8lz3Fy | |
8,1 2*GuctaY5ZPR^LdO#)6Ma(oWJltT=Fly | |
8,2 2cu4KEPce6IHnJe#ZMahWOD$3aBc | |
8,3 2FD6Et%5efLwib*ZD(oOD-Rkcl | |
8,4 2-4#BY5epHnO#UhDeWJ$3kcy | |
8,5 2rwc1iAeHoSefS(elltaBl | |
8,6 2a6KY76poJeUha1l$T=c | |
8,7 2zUEPZPHn9eMalp$3Fl | |
8,8 27#BcepoO#ZDel$3&y | |
9,1 *cD43EicW6)HbJr#6M(hZOz$Ra6c | |
9,2 *F46@t75Pfow9bfZ5(WOz-ak%l | |
9,3 *-w#tYZemHbO)U7DlWl$Rk%y | |
9,4 *r6caieeyoie2SheplTa6l | |
9,5 *aUKQ7jpoJrU7aol-TFc | |
9,6 *z#EiZRHb9UM(lK$RFy | |
9,7 *7gB%emoS#6Dll-3wy | |
10,1 cFw6Bt05RfowMb2Za(ZO$-ikHl | |
10,2 c-6#1YveIHJOiUVD1WD$akHy | |
10,3 crUcYiWe^o9eZSseKl2acl | |
10,4 ca#KP7epwJ#UVaWljT&c | |
10,5 czgEcZfHJ9*Mhly$aF | |
10,6 c7cB7eIoi#MD1lj3By | |
11,1 F-U#aYAe)HdOeUuDoWz$ikly | |
11,2 Fr#cQi6eLoMe6Sveyl3a%l | |
11,3 FagKi7PpCJ)UuaZlITwc | |
11,4 FzcE%ZpHd9fMslJ$iF | |
11,5 F7tB0e)o9#SDolI36y | |
12,1 -rgcPijeoobeMS8eJlRaHl | |
12,2 -acKc7RpnJiUDaOl@TBc | |
12,3 -ztE7ZmHO92Mvll$kF | |
12,4 -7KB5eHoM#hDWl@3cy | |
13,1 ratK%7fpbJeU5a7ltT6c | |
13,2 rzKE0ZIHS9ZM8lD$qF | |
13,3 r73BZeyob#7DZlt3%y | |
14,1 az3E5Z)Hi96Melz$=F | |
14,2 a7EBve^oe#VDOlT3Hy | |
15,1 z7@BAeLor#uD7l23ly |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$crypto = @" | |
P k T r 2 s z 2 * c F - | |
r a z 7 G u D 4 w 6 U # | |
g c t K 3 E @ B t 1 a Y | |
Q P i c % 7 0 5 Z v A e | |
W 6 j e P R f p m I ) H | |
y ^ L o o w C n b J d O | |
S i 9 M b e r # ) i e U | |
* f 2 Z 6 M S h 7 V u D | |
5 a ( h s v 8 e l 1 o W | |
Z O 7 l p K y J l D z $ | |
- j I @ t T 2 3 R a i k | |
q = F & w B 6 c % H l y | |
"@ | |
function Get-CryptoSolution { | |
param( | |
$FullText, | |
$X, | |
$Y | |
) | |
$FullText = $FullText.Replace("`r`n",'').Replace(' ','') | |
$Counter = 0 | |
while ($Counter -lt $FullText.Length) { | |
$First = $Counter + $X - 1 | |
$Second = $First + $Y | |
try { | |
$Message += $FullText.Substring($First,1) | |
$Message += $FullText.Substring($Second,1) | |
$Counter = $Counter + $X + $Y | |
} | |
catch { break } | |
} | |
$Message | |
} | |
for ($x = 1; $x -le 20; $x++) { | |
for ($y = 1; $y -le 20; $y++) { | |
$DecodedMessage = Get-CryptoSolution -FullText $crypto -X $x -Y $y | |
if ($DecodedMessage.Length -gt ($X + $Y)) { | |
[PsCustomObject]@{ | |
KeyInterval = '{0},{1}' -f $x,$y | |
DecodedMessage = $DecodedMessage | |
} | |
} | |
} | |
} |
Did you get a result? My solution is very similar - brute force looping and looking for a result that is meaningful.
Yes, I just failed to post the result in this gist. I'll update it in a few.
I really thought about making a function too but in the end just went with a script with a hard coded max value. Our solutions are very similar. This was definitely a tough one to get some clean code.
How did you know the max value?
I guessed tbh. I initially started with something much larger but once I saw the solution had 12 in the interval I changed the max to that.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
How did you know the max value?