I am using Python 2.7. I have an alphanumeric string, on which I want to perform a encryption/decryption. Whatever I do should remain 2-way and the result should be alphanumeric too.
For example:
str = 'ma6546fbd'
encrypted_data = encrypt_function(str)
decrypted_data = decrypt_function(encrypted_data)
print decrypted_data # I get 'ma6546fbd'
What have I done:
I have written a function
def xor_crypt_string(data, key):
return ''.join(chr(ord(x) ^ ord(y)) for (x,y) in izip(data, cycle(key)))
This takes the data and a key and returns the result, the problem is that it includes special characters too, which I want to avoid.
If you want serious encryption (read unbreakable) then I’d use AES from pycrypto something like this.
That is your ascii message. Now decode the message like this
Any encryption method you make up yourself will be easily breakable by an expert and the one you’ve shown above falls into that category.