云主机测评网云主机测评网云主机测评网

云主机测评网
www.yunzhuji.net

python如何加密文件

在Python中,有多种方法可以加密文件,以下是一些常见的加密方法:

(图片来源网络,侵删)

1、使用cryptography库进行AES加密

2、使用pycryptodome库进行AES加密

3、使用hashlib库进行哈希加密

4、使用base64库进行编码加密

接下来,我们将详细介绍这些方法。

1. 使用cryptography库进行AES加密

我们需要安装cryptography库,可以使用以下命令进行安装:

pip install cryptography

我们可以使用以下代码对文件进行AES加密:

from cryptography.fernet import Fernet
import os
生成密钥
key = Fernet.generate_key()
cipher_suite = Fernet(key)
读取文件内容
with open("example.txt", "rb") as file:
    file_data = file.read()
加密文件内容
encrypted_data = cipher_suite.encrypt(file_data)
将加密后的内容写入新文件
with open("encrypted_example.txt", "wb") as file:
    file.write(encrypted_data)

2. 使用pycryptodome库进行AES加密

我们需要安装pycryptodome库,可以使用以下命令进行安装:

pip install pycryptodome

我们可以使用以下代码对文件进行AES加密:

from Crypto.Cipher import AES
import os
生成密钥
key = os.urandom(16)
cipher = AES.new(key, AES.MODE_EAX)
读取文件内容
with open("example.txt", "rb") as file:
    file_data = file.read()
加密文件内容
ciphertext, tag = cipher.encrypt_and_digest(file_data)
将加密后的内容写入新文件
with open("encrypted_example.txt", "wb") as file:
    [file.write(x) for x in (cipher.nonce, tag, ciphertext)]

3. 使用hashlib库进行哈希加密

哈希加密是一种不可逆的加密方法,适用于验证数据的完整性,我们可以使用以下代码对文件进行哈希加密:

import hashlib
import os
计算文件的哈希值
def get_file_hash(file_path):
    with open(file_path, "rb") as file:
        file_data = file.read()
        return hashlib.sha256(file_data).hexdigest()
获取文件的哈希值并打印
print(get_file_hash("example.txt"))

4. 使用base64库进行编码加密

Base64编码是一种将二进制数据转换为文本的方法,通常用于在HTTP协议中传输二进制数据,我们可以使用以下代码对文件进行Base64编码加密:

import base64
import os
读取文件内容并进行Base64编码加密
with open("example.txt", "rb") as file:
    file_data = file.read()
    encoded_data = base64.b64encode(file_data)
    print(encoded_data)

以上就是Python中常见的几种加密文件的方法,需要注意的是,这些加密方法都是对称加密,即加密和解密使用相同的密钥,在实际应用中,需要确保密钥的安全存储和传输,对于非文本文件(如图片、音频等),我们可以直接对其二进制内容进行加密,而无需先将其转换为文本。

打赏
版权声明:主机测评不销售、不代购、不提供任何支持,仅分享信息/测评(有时效性),自行辨别,请遵纪守法文明上网。
文章名称:《python如何加密文件》
文章链接:https://www.yunzhuji.net/jishujiaocheng/137220.html

评论

  • 验证码