I wrote a programming puzzle for my wife for Valentine’s day. Can you solve it too?


I wrote a programming puzzle for my wife for Valentine’s day to express my undying love and help her learn about crypto-currency.


It’s Valentine’s day and I have succeeded in giving my wife a truly memorable gift. Yesterday my wife, who has recently started writing Android apps, met up with some friends to brainstorm ideas for crypto-currency projects. After the meeting a brilliant thought came to me; you know what would be really fun? A crypto currency treasure-hunt!

So now it’s Valentine’s day… below are a few moments from this morning —


*wife this morning while checking email*

Wife: OMG you sent me ASCII art!! I love ASCII art! ;)
Me: …not quite…

My wife has solved the puzzle and claimed the prize ($$$) but the puzzle is still fun and educational! Care to give it a try? Can you find the treasure too? There are 3 stages to the puzzle. Good luck!


============================BEGIN PUZZLE============================
_   _
| | | |
| |_| | __ _ _ __ _ __ _ _
| _ |/ _` | '_ \| '_ \| | | |
| | | | (_| | |_) | |_) | |_| |
\_| |_/\__,_| .__/| .__/ \__, |
| | | | __/ |
|_| |_| |___/
_ _ _ _ _ _ ______
| | | | | | | | (_) ( ) | _ \
| | | | __ _| | ___ _ __ | |_ _ _ __ ___|/ ___ | | | |__ _ _ _
| | | |/ _` | |/ _ \ '_ \| __| | '_ \ / _ \ / __| | | | / _` | | | |
\ \_/ / (_| | | __/ | | | |_| | | | | __/ \__ \ | |/ / (_| | |_| |
\___/ \__,_|_|\___|_| |_|\__|_|_| |_|\___| |___/ |___/ \__,_|\__, |
__/ |
|___/
====================================================================

Dear L,

I love you. This year has been great. After 16 years you still inspire and amaze me every day. Recently it's been your programming projects -- I think I never would have guessed that you, an art student who used to go on and on about your hatred for math, would be releasing android apps... WUT? Maybe I can take some credit??

Of course to your credit this hard-core engineer is beginning to understand that software is pretty pointless without people (whoda thunk)! Thank you for your design lessons, inspiration and guidance as I struggle to... erm... (pain)research 'people' and... (pain)'draw' things.

Hey! Today is Valentine's day and I know you don't eat chocolate or care much for flowers, so I'm going to give you something much better. It's a really good gift but there is a catch, to get it you have to use your programming skills. HAHAHA! ;)

Care to give it a try?

Here are the instructions:
"Use the KEY to claim the PRIZE"

You can solve this part of the puzzle using these three online tools:

String to hex encoder: https://goo.gl/WNrFB3
Hex to string encoder: https://goo.gl/g9zYpK
XOR encoder: https://goo.gl/GWVmsx

I recommend you use these ones because I tested things with these tools. Other online tools didn't give me the same results. Also, you can probably ignore the 'Decrypt' button on the XOR encoder... one more thing -- make sure you set Type correctly.

Hint: you'll need to learn about Hexadecimal and XOR in order to succeed.

====================================================================
KEY START (ASCII) =========================================
oo
oo OOOOOOOO: OOOOOOOO!
oOOOO!!!!;;;;O OO.......:;!O
'OOO!!!;;;;;;;;O O.......: ;!O
OOO!!!!;;::::::.OO........: ;!O
OO!!!!;;:::::..............: ;!O
OOO!!!;::::::..............: ;!O
OO!!;;::::::.............: ;!O
OO!;;::::::......oo.....::::!O
O!!;::::::........oo..:::O
!!!;:::::..........ooO
!!;:::::.......O oo
;;::::.....O oo ,o
:::..O ooo
::. oooo
:
KEY END ===================================================

PRIZE START (HEX) ================================
626522250068411f1f590076414c2a213b26212a683c1a6441590100734f23392a6f3b27263c017d7f5a5a4c450054006f282a3b01584e54491b4b492a53454e54616f1507232423245e4f594d266e2a434c41535307072e3f5158775a575e554f52555e3c6441360e55232423240e1a0000504948396c7e45005354413b262c0147484f5a571a694e485354496f3b464b654b570e130e18021b2d2a1b016f2d7a52495641542a6f5255405552581a5c53545b420e7d5a5c4740490e5a464b674049545255585526626453001d00026d74422b01011b1a4a48534c5b5a4b0e5d5a4f5a474d0e4847404f560073544948216a2a544845694e533b3d54424f525554496a4e080e130e0c0c15232423240e0e0e1a5052494d403b682a5354415449430029264f5a571a694e485354490e5a464b650a166b404d5c574a4e5f5e01722d28434449484f4301514a3a47501a5a4b55575e1b41484e5a4e415d0f1a054f5d5a55496e6e6c44537c551010116652544250544548664f0a0a0b68405a5a464a725b1e1e5e293f786c4d014048444f530147504e457c5511110a7c5f5e4b5e414d0f415d405f2b53535a331a3d3a11664a42504d01514a4346021b2d2a001b1b1a4a4853584f5a4b0e3c5441544943004649010e4c007f1b7f634e4700544845694e535452554354494f4e5365545948575e3b4544001d00027a4e565101464a451a331a3d3a1166425642485552015850547c027c55101011660e161b48507c551010116649445344015350331a5f5f3c4c5444467c55101011665547467c5510101166434b424d580d09342b4755531e1d1b0e1046502160292261372308526653010c0e7c557f7f7e0915213913543d3a116658484d4b4e22292b2a7d5411110a7d4e556e545444013c26465a725b1e1e1f7c4e4f3f662b53507c5510177e092745547d4e0b0b0a7d4e5c5d1355107f1f685f5a4d4544580e4f5353562f786e014a4658512f253e1a7d54110b0a7c53494f554e177f6146405e0346451e42021856675267547f3d3b660e0c016c2d25477d54110b0a7c4e4e495e0f5d5e725b1e1e1f685a4a434a4a4901066648482b7e6e564c087c557f7f7e6743531a584a5255664f1e1e1f685b565f4a0f0200725b1e0a11666373707c38565510101166452b284157504e481b1614664f1e1e1f687f4e5a5c5f495d4e5a5e1b7c550b117e4b2248014b5055467c3a7f110a7d40544c1c1b1600725b1e1e1f29195c48725b1e0a0b7c4f4629517f1010116647485352551354110b0b7c4b4e5951444c00415d46594e1a0b0f445c424b2f677b010c0e7c55101011665547477d540b0a0b7c4b4e4d45444c0f4e414d0f411c07386d7f44014a46580142424d0141467c5511110a7c5c574f5e5d4a4b725b1e1e7e664a4d1a012c6a4f7c5510101166465349445344564c014d5951575e4f725b1e1e1f09554e0142504d55511f040153450b2c6e5547465146544e7c55101011665453505146431b49534a5d2b021b2d2a000000005052495641540a4f1c796b5449430046494e414c00735452494e47005448456954495a52554354494f4e53654e435259501b0a0b3f7938001d0002704d44440158505401474255467c551010117c1a086b565510105e295154434b4a2d6e2f202c6e203c5257405544014a46373b646e373f3b674a60565510101166580f203c6e3c517d54110b0a7d4e3e424d5445293e0f5d474a0f4f4c51594c2b692b4e5653014e40133a7f1110674e5c51491a5b5e583c44543d0f0944430f4c4c48467c550b117e4b7e4e4e44504d29133a111110675d504e5e1b485c5e5a133a1e1e1f685b49485c5c7c5510100a6725607e535354445325214e530b0c1a784a4c55514a4e4b725b1e1e1f684c430f4a5b495c514654557d3a3d3a116658404d24293c00414e581b485c575f665b1e1e1f685b4948725b1e1e1f6859404d40544329517f10101166554e6e0d5149545a58485c1766540c15232423240e0e0e0e5e5b4c5649430048552e79634300564f494400222e485513694e4853545d75730e4f5c491c4655232423241a1a1a1a016f2d2a5452595b2d2a0000006f01011b1a1a1a1a1a69575d5a4b4300415b1b415e5c53544e236322684150505976414c454e54484f44487e5b43145f404d5c575e5a065a464b240a3624231b2d2a0000000000000000000000017242494e5f5714415b5a005e5c4721544c4e47276c7a505976414c454e54494e45536441590e5e555948434a5a065a464b064e53545255435449000153090554000000000000000000000000000073595354454d0e554f4e005e3d494e544c4e08684150505976414c0a011b646445536441590e454e435259505408544845694e5354484f4d54494f4e5370541209091b2d2a2d654f4f4f2d2a0000000000000073595354454d0e4f55540e5052494e4e030125424150501639414c454e5426212a3c0b2e36615e454352595054083b272a042a360a21427f735054454409095442456f6f010101011b1b1b1b6f007359533b2a4300415b5a005e48524f3b616408684150505e192e23444f5552555e487f5a42152b45433d575e5a065a464b734e535449542c79634f4e53654e2c3d365155444512120137301a1a1a0e6f6f0e0e0e0e0e0e7d574954454d0e54543b237a52494e544c216769405151426d5b565f544e47404b5d6a4f57004a4b4d5c575e4e0854485e68217e7e525543544920213c644f4249434a4e5f5e6a5a1c07071523240e0e0e0e0e0e0e1a5d43414f4227254f58434550544920210144124037301a1a1a1a0e0e0e0e0e0e0e0e7d575d5a4b570e4f554f0f3f7f634e544c4e0802703d2043575e571a5f545948575e5a4740494f194f425b4b5d181301372b6f2d2a00000000005d2d2a006f010146373037301a1a0e0e5e5b4c42474d4f1c5a4f4e53596f5e7e52494e4700454e435259505509724f4853545d1a5e424f47407a4b565a074f1442072a00000000000000735452494e4700525549735459485f434b405a4b4a13214557003c1b7f634e4708091b2d2a00000000000000004654491253544e0e47131e15261c504c41494e7445171b0e4c49016a7e4808091b490b0b095b2d2a00000000000000001a1a1a0e4729084900050012001d1d0010095b2d654f4f2d2a0000000000000000000000000f0f004556454e2d2a1a1a0e00000000000000000000000000531b1d26016e78454d454e5445440b1d08434841520908504c41494e745f171b23694841522e1b0849090b11667442456f6f6f6f1a00000000000000322a233c2a344245012d2a0000000000004f6f6f6f6f01010e0e1b545f5f422a0000006f6f0e0e0e0e0e0e0e1a1b016f7e7e52694e435242222a2155444510061358535a491267504c2e47407a4b565a00594841527a556764230d11091b2d456f6f010101011b1b1a1a1a1a4737246f6f0e0e0e0e0e0e532330000000001b016f2d78455455524e6f3c5553684f58495f575f544e4b4a1523240e0e0e0e53232423241a0000004b542d616343005354413b262c0172554953545d1a5e5f4d5c575e5a067d5a5c4740490e5e5641494e6f44377923005b2d2a00006f6f01011b1b15151a63554f0e4d4f400e4d414a4b0e5a464749005041495542072a000000000000003d2a554e49541a18180137240e0e0e0e536265532324
PRIZE END ========================================

Love,

Ya-boiiiii


_( \ .-' `-. / )____
(____ \_____ / (O O) \ _____/ ____)
(____ `-----( ) )-----' ____)
(____ _____________\ \____/ /_____________ ____)
(______/ `-.____.-' \______)
================================END PUZZLE==========================

Had fun with the puzzle? I definitely had fun making it. I’d love to hear what you think and what you found fun or challenging.

What do you think? Would you give something like this to someone you know?