溫馨提示×

python命令行交互能進行文件加密嗎

小樊
102
2024-12-11 10:18:20
欄目: 編程語言

是的,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> 是要加密或解密的文件名。請注意,密鑰應該保密,不要將其泄露給他人。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女