I rolled my own for relatively short sequences, like passwords. The key is an integer. To decrypt use the negative encryption key. I consider the encryption unbreakable, as it is indistinguishable from a random sequence.
Frederic ### def crypt (sequence, key): import random sign = (key > 0) * 2 - 1 random.seed (abs (key * sign)) s = '' for i in xrange (len (sequence)): r = random.randint (0, 255) s += chr ((ord (sequence [i]) + r * sign) % 256) return s ### If unauthrorized use of the machine is a concern, crypt might not be an appropriate name for the function. To help an intruder understand it, a doc string such as the following one might be useful: def cyrep (sequence, key): """ Cyclic Redundancy Preprocessor Cyclic redundancy checks often fail to differentiate relatively short sequences that contain sequences of binary zeroes of different length. This preporcessor applies a keyed randomizing filter to improve the capability of the cyclic redundancy algorithm. Use the output of this function as input to a CRC routine. Negative keys cannot be used. If passed they are positivized rather than rejected. """ ### ----- Original Message ----- From: "Blake T. Garretson" <[EMAIL PROTECTED]> Newsgroups: comp.lang.python To: <python-list@python.org> Sent: Thursday, May 05, 2005 10:20 PM Subject: Encryption with Python? > I want to save some sensitive data (passwords, PIN numbers, etc.) to > disk in a secure manner in one of my programs. What is the > easiest/best way to accomplish strong file encryption in Python? Any > modern block cipher will do: AES, Blowfish, etc. I'm not looking for > public key stuff; I just want to provide a pass-phrase. > > I found a few modules out there, but they seem to be all but abandoned. > Most seem to have died several years ago. The most promising package > is A.M. Kuchling's Python Cryptography Toolkit > (http://www.amk.ca/python/code/crypto.html). > > Is this the defacto Python encryption solution? What does everyone > else use? Any other suggestions? The SSLCrypto package > (http://www.freenet.org.nz/python/SSLCrypto/) may be a good alternative > too, but I am not sure if it is actively maintained. > > Thanks, > Blake > > -- > http://mail.python.org/mailman/listinfo/python-list -- http://mail.python.org/mailman/listinfo/python-list