I am experimenting with ezPyCrypto
( http://www.freenet.org.nz/ezPyCrypto/ ).
Having difficulty making the key portable (ie put in a file). I don't
get an error message, I just recover a message string that is empty
instead of one that contains my message.
The code is below with a few extra print statements and comments that
hopefully make my problem clearer. Any help in getting it to work as
expected is appreciated. System is Mac OS 10.3 / Python 2.4.1 framework.
START PROGRAM--------------------------------------------
import ezPyCrypto
msg = 'Meeting delayed 30 hours'
print msg
print '--------------------'
k = ezPyCrypto.key( 512)
cipher = k.encStringToAs cii(msg)
print cipher
msg_back = k.decStringFrom Ascii(cipher)
print msg_back
print '--------------------'
# So far so good. encrypted and decrypted as expected.
# Now try to put the key in a file for transport on eg a USB drive.
key_as_string = k.exportKey()
print key_as_string
f = open('/Users/scott/pyprogs/the_key.txt', 'w')
f.write(key_as_ string)
f.close()
# Now get string representation of k (the key object above) and use it
# to create a key object (ke) that should decode the original cipher
f=open('/Users/scott/pyprogs/the_key.txt', 'r')
x = f.read()
ke = ezPyCrypto.key( x)
print ke # Key object exists (good)
recovered_msg = ke.decString(ci pher)
print type(recovered_ msg) # A message string is returned (good)
print len(recovered_m sg) # The string is EMPTY! (not good)
print recovered_msg # No message returned (not good)
f.close()
END PROGRAM-----------------------------------------------
RUN PROGRAM----------------------------------------------
scott$ python testezPyCrypto1 0.py
Meeting delayed 30 hours
--------------------
<StartPycryptoM essage>
5AAoVQNSU0FxACh jQ3J5cHRvLlB1Ym xpY0tleS5SU0EKU lNBb2JqCnEBb3EC fXEEKFUBZXEFTDY 1
NTM3TApVAW5xBkw 3MDg1MTU0ODQ3Nz g2Mzg1NzA3ODYxM zQ0NDcwNDQ3MDkz MTQ0NzkxNDIyMzA y
MDMwMjQxMTcxNjY 2NzQ3MjQ3Njc0MT AxMTYwNjA4OTA0O DUxMzgxMDkyMjkw Njk5OTM3MTUwMTc 0
Njc3MzI5NjY3NjQ zOTUzNjQzMDQ4MT EwMTYwMTMyMDE3N zk4MTcxOTYzOTkw MTY0MzIxTAp1YnR x
By5DAAFAAB0nHmn cdr+reFXlH3sqlT D3sGzljukoy7bD0 CqTIx0G/wUBQikdDz/jUPG1lJeDpc3V
yW5alZnazsunbv9 ck6RDAAFAAINJBP Mc/j8FQznrDhrd5bIj sEIdYgL8Mhuyz4d uDF2usmzKG+B0
zjuatNSSgYr6D3N sBnGc8kgcZFFsSl dWql5DAAFAABuHp HTspBrEF4I9RWBM Fdaw8bpAAaEx69w 5
wAu5jx1PiPLHY+8 VVWshIaIjKjTPnW uD1OmSIr17k0R5X TNoLakIKBLNld6+ SaoIb1AIRsYowgg I
y/BY6VP0e70A
<EndPycryptoMes sage>
Meeting delayed 30 hours
--------------------
<StartPycryptoK ey>
KEkwMApOVeQoVQN SU0FxAChjQ3J5cH RvLlB1YmxpY0tle S5SU0EKUlNBb2Jq CnEBb3ECfXEEKFU B
ZXEFTDY1NTM3TAp VAW5xBkw3MDg1MT U0ODQ3Nzg2Mzg1N zA3ODYxMzQ0NDcw NDQ3MDkzMTQ0Nzk x
NDIyMzAyMDMwMjQ xMTcxNjY2NzQ3Mj Q3Njc0MTAxMTYwN jA4OTA0ODUxMzgx MDkyMjkwNjk5OTM 3
MTUwMTc0Njc3MzI 5NjY3NjQzOTUzNj QzMDQ4MTEwMTYwM TMyMDE3Nzk4MTcx OTYzOTkwMTY0MzI x
TAp1YnRxBy5xAHR xAS4=
<EndPycryptoKey >
<ezPyCrypto.k ey instance at 0xc00f8>
<type 'str'>
0