Неважно --- разобрался.
Если вы измените эту строку в pyDes
print "Encrypted: %r" % d
на
print "Encrypted: %r" % d.encode('base64')
, тогда код точно совпадет.
Для сравнения запуститеОригинальный код с сайта Мартин: [Вывод]
Message: This world is round, not flat, don't believe them!
Password: secret
Encrypted string: pafHnI124lxzCr+93COqxfgOTan8x9oPzX4R/PDYkBnrjufk0/7mesG5tmS2AU
Pxna3z0jY+7II=
Decrypted string: This world is round, not flat, don't believe them!
А вот модифицированный код из pyDes - вам нужно дополнить пароль с помощью md5Hash
import md5
from pyDes import *
Msg = "This world is round, not flat, don't believe them!"
Password = "secret"
m=md5.new()
m.update(Password)
k = triple_des(m.digest() , ECB,padmode=PAD_PKCS5)
d = k.encrypt(Msg)
print "Encrypted: %r" % d.encode('base64')
print "Decrypted: %r" % k.decrypt(d)
assert k.decrypt(d, padmode=PAD_PKCS5) == Msg
с выводом:
Encrypted: 'pafHnI124lxzCr+93COqxfgOTan8x9oPzX4R/PDYkBnrjufk0/7mesG5tmS2AUPxna3z
0jY+7II=\n'
Decrypted: "This world is round, not flat, don't believe them!"
Надеюсь, это поможет следующему человеку !!!!Спасибо -D