中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

python如何給文件加密與解密

小億
160
2024-02-20 13:58:32
欄目: 編程語言

要給文件加密和解密,可以使用Python中的加密模塊如cryptographyPyCrypto。以下是一個使用PyCrypto模塊進行文件加密和解密的示例代碼:

from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes

def encrypt_file(input_file, output_file, key):
    cipher = AES.new(key, AES.MODE_EAX)
    with open(input_file, 'rb') as f_in:
        data = f_in.read()
        nonce = cipher.nonce
        ciphertext, tag = cipher.encrypt_and_digest(data)
    
    with open(output_file, 'wb') as f_out:
        f_out.write(nonce)
        f_out.write(tag)
        f_out.write(ciphertext)

def decrypt_file(input_file, output_file, key):
    with open(input_file, 'rb') as f_in:
        nonce = f_in.read(16)
        tag = f_in.read(16)
        ciphertext = f_in.read()
    
    cipher = AES.new(key, AES.MODE_EAX, nonce=nonce)
    data = cipher.decrypt_and_verify(ciphertext, tag)
    
    with open(output_file, 'wb') as f_out:
        f_out.write(data)

# Generate a random key
key = get_random_bytes(16)

# Encrypt a file
encrypt_file('input.txt', 'encrypted.txt', key)

# Decrypt the encrypted file
decrypt_file('encrypted.txt', 'output.txt', key)

在上面的示例中,我們首先使用encrypt_file()函數對輸入文件進行加密,然后使用decrypt_file()函數對加密后的文件進行解密。在加密和解密過程中,我們使用AES加密算法和隨機生成的16字節密鑰。

請注意,加密和解密文件時,務必保管好密鑰,以便正確解密文件。

0
八宿县| 从化市| 万山特区| 昭觉县| 垫江县| 吴江市| 永年县| 健康| 安福县| 萨嘎县| 额尔古纳市| 吉木乃县| 郓城县| 文山县| 灵台县| 本溪市| 安图县| 当涂县| 南安市| 新化县| 阆中市| 漳浦县| 乌拉特前旗| 康定县| 扶风县| 乐昌市| 绥中县| 渭南市| 沾化县| 迭部县| 石门县| 龙井市| 宁陵县| 石楼县| 梁河县| 黑龙江省| 黔西县| 通州市| 义马市| 阜康市| 庐江县|