python如何给文件加密与解密

   2024-11-04 2520
核心提示:要给文件加密和解密,可以使用Python中的加密模块如cryptography或PyCrypto。以下是一个使用PyCrypto模块进行文件加密和解密的示

要给文件加密和解密,可以使用Python中的加密模块如cryptographyPyCrypto。以下是一个使用PyCrypto模块进行文件加密和解密的示例代码:

from Crypto.Cipher import AESfrom Crypto.Random import get_random_bytesdef 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 keykey = get_random_bytes(16)# Encrypt a fileencrypt_file('input.txt', 'encrypted.txt', key)# Decrypt the encrypted filedecrypt_file('encrypted.txt', 'output.txt', key)

在上面的示例中,我们首先使用encrypt_file()函数对输入文件进行加密,然后使用decrypt_file()函数对加密后的文件进行解密。在加密和解密过程中,我们使用AES加密算法和随机生成的16字节密钥。

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

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号