Dans le cadre d'une validation de principe, une chaîne cryptée BAS64 codée/Triple DES (MODE_ECB) m'a été fournie par une tierce partie. J'ai écrit un test rapide en sachant que la valeur décryptée devrait être "testdata", mais cela ne semble pas fonctionner.Décryptage des données 3DES cryptées via une autre source
Je l'ai essayé avec pycrypto et pyDES, avec les mêmes résultats. Est-ce que je fais quelque chose de mal. Est-ce que decode ('hex') est la bonne approche pour la clé?
from Crypto.Cipher import DES3
import base64
class akamaiServicesTest(TestCase):
def test_cipherDecode3DES(self):
key = "D41D8CD98F00B204E9800998ECF8427ECF34260089DE00EF".decode('hex')
encryptedString = base64.b64decode("QnRWdXFPeE8rRmJGOGVSWkhOMzFiN3l2Y01scU1QdXU=")
self.assertEqual(encryptedString, "BtVuqOxO+FbF8eRZHN31b7yvcMlqMPuu")
cipher = DES3.new(key, DES3.MODE_ECB)
decryptedString = cipher.decrypt(encryptedString)
self.assertEqual(decryptedString, "testdata")
Génial! Le double encodage en base64 est ce qui m'a lancé. Merci beaucoup. –