是的,Python 命令行交互可以進行文件加密。你可以使用 Python 的內置模塊 cryptography
來實現文件加密和解密。以下是一個簡單的示例,展示了如何使用 cryptography
模塊進行 AES 加密和解密:
首先,確保你已經安裝了 cryptography
模塊。如果沒有安裝,可以使用以下命令安裝:
pip install cryptography
然后,創建一個名為 encrypt.py
的腳本,并添加以下代碼:
from cryptography.fernet import Fernet
import sys
def generate_key():
return Fernet.generate_key()
def encrypt_file(key, file_name):
with open(file_name, 'rb') as f:
data = f.read()
fernet = Fernet(key)
encrypted_data = fernet.encrypt(data)
with open(file_name + '.enc', 'wb') as f:
f.write(encrypted_data)
def decrypt_file(key, file_name):
with open(file_name, 'rb') as f:
encrypted_data = f.read()
fernet = Fernet(key)
decrypted_data = fernet.decrypt(encrypted_data)
with open(file_name[:-4], 'wb') as f:
f.write(decrypted_data)
if __name__ == '__main__':
if len(sys.argv) != 4:
print("Usage: python encrypt.py <encrypt|decrypt> <key> <file>")
sys.exit(1)
action, key, file_name = sys.argv[1], sys.argv[2], sys.argv[3]
if action == 'encrypt':
encrypt_file(key, file_name)
elif action == 'decrypt':
decrypt_file(key, file_name)
else:
print("Invalid action. Use 'encrypt' or 'decrypt'.")
sys.exit(1)
現在,你可以在命令行中使用以下命令進行加密和解密操作:
python encrypt.py encrypt <key> <file>
python encrypt.py decrypt <key> <file>
其中,<key>
是一個用于加密和解密的密鑰,<file>
是要加密或解密的文件名。請注意,密鑰應該保密,不要將其泄露給他人。