117.info
人生若只如初见

python如何给文件加密与解密

要给文件加密和解密,可以使用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 = https://www.yisu.com/ask/f_in.read()'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 = https://www.yisu.com/ask/cipher.decrypt_and_verify(ciphertext, tag)'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字节密钥。

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

未经允许不得转载 » 本文链接:https://www.117.info/ask/fe545AzsLAQRRB10.html

推荐文章

  • python怎么定义多行字符串

    在Python中,可以使用三引号(‘’’ 或 “”")来定义多行字符串。它可以用于包含多行文本或代码的情况。下面是几个示例:
    # 使用三引号定义多行字符串

  • python怎么获取指定文件的路径

    你可以使用os.path模块来获取指定文件的路径。以下是一个示例代码:
    import os # 获取当前文件的路径
    current_path = os.path.abspath(__file__)

  • python输出变量值的方法是什么

    Python中输出变量值的方法有以下几种: 使用print()函数:使用print()函数可以将变量的值打印输出到控制台。例如: x = 10
    print(x) # 输出10 使用字符串格...

  • python怎么将结果赋给一个变量

    在Python中,你可以将结果赋给一个变量。要实现这个,你需要将你的操作或表达式放在等号(=)的右边,并将这个等号左边的标识符设置为你想要存储结果的变量名。以...

  • db2导入大量数据的方法是什么

    DB2数据库导入大量数据的方法有以下几种: 使用DB2命令行工具db2import:可以通过db2import命令将数据从外部文件导入到DB2数据库中。可以指定导入的文件格式和目...

  • python中readall的用法是什么

    在Python中,readall不是内置函数或方法。可能是你的代码中自定义的函数或方法。通常情况下,如果要读取文件的全部内容,可以使用open()函数打开文件,然后使用r...

  • php的循环方式有哪些

    在PHP中,常见的循环方式有以下几种: for循环:用于按照指定次数重复执行代码块。 for ($i = 0; $i < 10; $i++) { echo $i;
    } while循环:在给定条件为真时...

  • oracle安装要注意哪些事项

    确保系统要求:在安装Oracle数据库之前,确保系统符合Oracle数据库的最低硬件和软件要求,包括操作系统版本、内存、硬盘空间等。 检查系统配置:在安装过程中,确...