python 文件密码加密 不要第三方模块
时间: 2023-07-15 17:15:16 浏览: 46
实现文件密码加密可以使用 Python 标准库中的 `cryptography` 模块,具体如下所示:
```python
import cryptography.fernet
# 生成密钥
key = cryptography.fernet.Fernet.generate_key()
# 加密文件
with open('file_to_encrypt', 'rb') as f:
data = f.read()
fernet = cryptography.fernet.Fernet(key)
encrypted = fernet.encrypt(data)
with open('encrypted_file', 'wb') as ef:
ef.write(encrypted)
# 解密文件
with open('encrypted_file', 'rb') as ef:
encrypted_data = ef.read()
fernet = cryptography.fernet.Fernet(key)
decrypted = fernet.decrypt(encrypted_data)
with open('decrypted_file', 'wb') as df:
df.write(decrypted)
```
以上代码生成了一个随机密钥,用该密钥对文件进行加密,并将加密后的文件写入 `encrypted_file` 文件中。接着,使用同样的密钥对加密后的文件进行解密,并将解密后的文件写入 `decrypted_file` 文件中。需要注意的是,生成的密钥需要妥善保管,以便在解密时使用。