On Wed, Apr 13, 2016 at 11:18 PM, durgadevi1 <srirajarajeswaridevikr...@gmail.com> wrote: > > The output from the file is given below: > > b'$//W?\xc0\x829\xa2\xb9\x13\x8c\xd5{\' > > > I used the type() to identify the class and its a byte class. > > I saw many \x and thought it might be hex. > > > So, I used binascii.hexlify() and got the following output: > b'242f2f573fc08239a2b9138cd57b' > > Now, this output is being encrypted and I need to perform an XOR operation on > it in order to retrieve a secret message. > > But, I'm not sure how to code the XOR operation. How do I code that? >
What you have is a series of bytes. They don't have any obvious meaning right there, so you're going to have to figure out what to XOR it with. Let's just guess that you want to xor with the byte value 0xAA. We can do that fairly simply, using integer operations. >>> data = b'$//W?\xc0\x829\xa2\xb9\x13\x8c\xd5{\\' >>> bytes(b ^ 0xAA for b in data) b'\x8e\x85\x85\xfd\x95j(\x93\x08\x13\xb9&\x7f\xd1\xf6' Well, that doesn't look much more intelligible. We can try a few other byte values pretty easily: >>> bytes(b ^ 0x17 for b in data) b'388@(\xd7\x95.\xb5\xae\x04\x9b\xc2lK' >>> bytes(b ^ 0x9D for b in data) b'\xb9\xb2\xb2\xca\xa2]\x1f\xa4?$\x8e\x11H\xe6\xc1' >>> bytes(b ^ 0xE2 for b in data) b'\xc6\xcd\xcd\xb5\xdd"`\xdb@[\xf1n7\x99\xbe' but it still doesn't look very promising. You're going to need to know the key - the byte value, or sequence of byte values, to XOR with. ChrisA -- https://mail.python.org/mailman/listinfo/python-list