Hacker News new | past | comments | ask | show | jobs | submit login

Cute... 53414e544120414e442048495320574f524b53484f50 = SANTA AND HIS WORKSHOP



Ha, I was wondering how you managed to reverse the hash and then had a facepalm moment.



I still don’t get it.


i use this one alot, it has various decryption tools and you can apply "recipes" : https://gchq.github.io/CyberChef/#recipe=From_Hex('Auto')&in...


nice!!


https://www.ascii-code.com/

Those numbers represent the hex ascii code.

To get you started.

53414e544120414e442048495320574f524b53484f50

53 = S

41 = A

4e = N

...


It's hexadecimal ascii


python, decoding and encoding the message

a="53414e544120414e442048495320574f524b53484f50"

"".join([chr(int(a[i:(i+2)],16)) for i in range(0,len(a),2)])

=> 'SANTA AND HIS WORKSHOP'

a = 'SANTA AND HIS WORKSHOP'

"".join([hex(ord(c)) for c in a]).replace('0x','')

=> '53414e544120414e442048495320574f524b53484f50'


An easier version and IMO more true to what's actually going on:

>>> bytes.fromhex('53414e544120414e442048495320574f524b53484f50')

b'SANTA AND HIS WORKSHOP'

>>> b'SANTA AND HIS WORKSHOP'.hex()

'53414e544120414e442048495320574f524b53484f50'


Thanks, nice. bytes.fromhex is really reading bytes from a hex string, so perhaps a better name should be bytes.fromhexstring, but since python names are short I understand the trade-off. Also, my first impression is that hex should be called bytes.tohexstring, but for those using python daily I understand the need of shorter names.


It's a hexadecimal encoding of the ASCII character codes: 53 41 4e 54 41 20 41 ... etc.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: