2017-10-14 2 views
0

我想創建一個函數,使用gpg -c通過tkinter中的輸入框來加密文件。我的問題是,gpg -c提示用戶通過終端輸入密碼兩次。Tkinter python 3 - gpg加密

我能夠執行命令,但它需要通過終端輸入。是否可以使用一個變量或一些可以與命令結合的佔位符?這種方式終端不是必需的。還是有其他選擇嗎?

例如這裏是正常的命令行:

gpg -c test.txt 
Enter passphrase: ***********  
Repeat passphrase: *********** 

回答

0

而不是使用GPG命令行工具,它會更好地使用Python-gnupg的庫中找到的位置:https://pythonhosted.org/python-gnupg,其中加密和簽名看起來會像這樣(從docs空運):

>>> encrypted_data = gpg.encrypt(data, recipients, sign=signer_fingerprint, passphrase=signer_passphrase) 

這將避免兩兩件事:

  1. 具有外部依賴於GPG二進制(使得分配困難)
  2. 使用命令行輸入和輸出處理,其是棘手