是的,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>
是要加密或解密的文件名。请注意,密钥应该保密,不要将其泄露给他人。