首页主机资讯python如何给文件加密与解密

python如何给文件加密与解密

时间2024-02-29 16:19:03发布访客分类主机资讯浏览420
导读:要给文件加密和解密,可以使用Python中的加密模块如cryptography或PyCrypto。以下是一个使用PyCrypto模块进行文件加密和解密的示例代码: from Crypto.Cipher import AES from Cry...

要给文件加密和解密,可以使用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字节密钥。

请注意,加密和解密文件时,务必保管好密钥,以便正确解密文件。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: python如何给文件加密与解密
本文地址: https://pptw.com/jishu/633096.html
Postgresql 如何清理WAL日志 解决PostgreSQL日志信息占用磁盘过大的问题

游客 回复需填写必要信息