使用python自带模块,用字符串密码加密文件
时间: 2023-11-22 08:53:27 浏览: 65
可以使用Python中的hashlib模块来对文件进行加密。下面是一个示例代码:
```python
import hashlib
# 读取文件内容
with open('example.txt', 'rb') as f:
content = f.read()
# 输入密码并进行哈希
password = input('请输入密码:')
hash_obj = hashlib.sha256(password.encode('utf-8'))
key = hash_obj.digest()
# 对文件内容进行加密
iv = b'1234567890123456' # 初始化向量
cipher = AES.new(key, AES.MODE_CBC, iv)
pad_length = AES.block_size - len(content) % AES.block_size
padding = bytes([pad_length] * pad_length)
content = content + padding
encrypted_content = cipher.encrypt(content)
# 将加密结果写入新文件
with open('example_encrypted.txt', 'wb') as f:
f.write(encrypted_content)
```
在上面的代码中,我们首先使用`hashlib`模块对密码进行哈希,生成一个密钥。然后使用AES算法对文件内容进行加密,并将加密结果写入一个新文件中。需要注意的是,为了保证加密后的长度为16字节的整数倍,我们对文件内容进行了填充。
阅读全文