Daniel Fetchinson <fetchin...@googlemail.com> writes: > I have a plain text file which I would like to protect in a very > simple minded, yet for my purposes sufficient, way. I'd like to > encrypt/convert it into a binary file in such a way that possession of > a password allows anyone to convert it back into the original text > file while not possessing the password one would only see the > following with the standard linux utility 'file': > > [fetchin...@fetch ~]$ file encrypted.data > encrypted.data: data [...]
This is probably not what you want, but it is very simple and doesn't import any module:) I am not qualified to say how easy it is to discover the message without the password. def str2int(txt): return reduce(lambda n, c: n*255 + ord(c), txt, 0) def int2str(n): chars = [] while n: n, o = divmod(n, 255) chars.append(chr(o)) return ''.join(reversed(chars)) def encrypt(txt, pwd): return int2str(str2int(txt)*str2int(pwd)) def decrypt(txt, pwd): return int2str(str2int(txt)/str2int(pwd)) def test(txt, pwd): encrypted_txt = encrypt(txt, pwd) decrypted_txt = decrypt(encrypted_txt, pwd) print "text:%r" % txt print "encrypted:%r" % encrypted_txt print "decrypted:%r" % decrypted_txt >>> test("This encryption scheme is definitely unbreakable.", "secret") text:'This encryption scheme is definitely unbreakable.' encrypted:'&2\xa5\xd4\x17i+E\x01k\xfa\x94\xf80\xa8\x8f\xea.w\x128\xf1\xd9\x0f9\xf2t\xc9\r`\x90%\xd6\xf3~\x1f\x00%u&\x8a\xe4\xe0\xa7\xb8\xb0ec)S>\xcb\xf2>\xec' decrypted:'This encryption scheme is definitely unbreakable.' -- Arnaud -- http://mail.python.org/mailman/listinfo/python-list