>>> 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 >>> >>> and the effort required to convert the file back to the original text >>> file without the password would be equivalent to guessing the >>> password. >>> >>> I'm fully aware of the security implications of this loose >>> specification, but for my purposes this would be a good solution. >>> >>> What would be the simplest way to achieve this using preferably stock >>> python without 3rd party modules? If a not too complex 3rd party >>> module made it really simple that would be acceptable too. >> >> Paul Rubin's p3.py algorithm is probably the most straightforward way to >> meet >> these requirements. It's not a standard crypto algorithm by any means, >> but >> Paul >> knows his stuff and has devised it with these deployment restrictions in >> mind. >> >> http://www.nightsong.com/phr/crypto/p3.py > > Thanks a lot, currently I'm having trouble using this code on python > 2.6 but probably some small tweaking will fix it.
Actually, it also doesn't work with python 2.5 and currently I don't have access to anything older. array.array raises a ValueError: string length not a multiple of item size Does anyone recall a change to array.array? The full traceback is Traceback (most recent call last): File "p3.py", line 163, in <module> _test() File "p3.py", line 143, in _test c1 = e(plain,key) File "p3.py", line 69, in p3_encrypt xkey = _expand_key(k_enc, n+4) File "p3.py", line 41, in _expand_key return array ('L', j) ValueError: string length not a multiple of item size Cheers, Daniel -- Psss, psss, put it down! - http://www.cafepress.com/putitdown -- http://mail.python.org/mailman/listinfo/python-list