Question

Pour certaines données sensibles, j'ai décidé de le stocker AES-crypté sur le disque. Je l'ai mis en place le cryptage en utilisant PyCrypto .

En outre, les données sont importantes, et les données cryptées stockées sera ma seule copie (sauvegarde de côté), donc je cherché un moyen de récupérer les données sans utiliser PyCrypto d'avoir une solution de repli étant donné la possibilité que PyCrypto est pas plus disponible pour moi (pour une raison quelconque qui peut être).

Je pensais que mcrypt pourrait être une option.

Ceci est mon cas de test pour obtenir un peu de cryptogramme écrit:

import Crypto.Cipher.AES
import sys

pwd  = 'qwertzuiopasdfgh'
mode = Crypto.Cipher.AES.MODE_CBC
aes  = Crypto.Cipher.AES.new( pwd, mode )
text = 'asdfghjklyxcvbnm'
sys.stdout.write( aes.encrypt( text ) )

Je redirigés vers la sortie à un out.nc de fichier et essayé par le déchiffrement

mcrypt -d -b -k qwertzuiopasdfgh -a rijndael-128 -m CBC out.nc

mais le fichier résultant out a une taille zéro octets, malheureusement.

J'espère qu'il y est une combinaison d'options pour mcrypt pour faire ce travail ...

Était-ce utile?

La solution

Pourquoi est-il important d'être en mesure de récupérer sans PyCrypto? Vous pouvez simplement lancer une machine virtuelle avec l'ancien système d'exploitation et l'ancienne version de PyCrypto, exporter vos données et Rechiffrer avec un algorithme et la mise en œuvre différente.

Autres conseils

Je pense que le problème peut poser dans le fait que vous ne fournissez pas IV pour le mode CBC et sans IV peut-être Mcrypt et PyCrypto gérer différemment en utilisant différentes IVs par défaut. J'ai vu quelques implémentations (phpseclib par exemple) utiliser et IV de 16 octets nuls par défaut. mcrypt pourrait ne pas le faire.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top