J'essaie d'utiliser un sous-processus pour exécuter une commande openssl via un script python pour déchiffrer un fichier déjà chiffré avec le mot de passe connu.Python: Utilisation d'openssl via un sous-processus pour décrypter avec un mot de passe variable
Le code que j'ai fonctionne, mais je veux être en mesure d'enregistrer un mot de passe en tant que variable, à savoir pass = 'password'
et entrer cette variable dans l'appel de sous-processus plutôt que l'avoir statiquement pass:password
. Sans se soucier de la façon dont j'obtiens le mot de passe sauvegardé dans la variable, et en me concentrant simplement sur le passage en tant que variable à l'appel du sous-processus, est-ce possible? Je lisais la section PASS PHRASE ARGUEMENTS de la page de manuel OpenSSL, donc je suis curieux de savoir si je devrais utiliser l'une des autres options (env:var, file:pathname, fd:number, or stdin
). Cependant, il est difficile de trouver des exemples d'utilisation, donc je ne suis pas sûr.
Voici ce que j'ai jusqu'à présent:
def decryptfile():
decryptFile = subprocess.Popen(["openssl", "aes-256-cbc", "-d", "-a", "-in", "pw.txt",
"-out", "pw.dec.txt", "-pass", "pass:password"]
)
Ce n'est pas exactement ce que je voulais, je vais essayer de mieux le clarifier. Je dois pouvoir entrer une variable déjà définie dans l'appel du sous-processus lui-même, c'est-à-dire au lieu d'utiliser 'pass: password' il utilise ma variable et n'attend pas que je tape le mot de passe dans le terminal. Le truc sur le stockage de la sortie va certainement être utile plus tard dans mon programme si – Brosta