使用python自带模块,简单加密文件
时间: 2023-11-22 18:53:30 浏览: 37
可以使用 Python 标准库中的 base64 模块对文件进行简单加密。
首先,将文件读入内存中:
```python
with open('filename', 'rb') as f:
content = f.read()
```
然后,使用 base64 编码将内容转换为字符串:
```python
import base64
encoded = base64.b64encode(content)
```
将编码后的字符串写入文件:
```python
with open('encoded_filename', 'wb') as f:
f.write(encoded)
```
解密时,先将编码后的字符串读入内存中:
```python
with open('encoded_filename', 'rb') as f:
encoded_content = f.read()
```
然后,使用 base64 解码将字符串转换回原始内容:
```python
decoded = base64.b64decode(encoded_content)
```
将解码后的内容写入文件:
```python
with open('decoded_filename', 'wb') as f:
f.write(decoded)
```
这样就完成了简单的加密和解密过程。需要注意的是,这种加密方式并不是非常安全,只能防止一些简单的窥探,更高级的加密方式需要使用专业的加密算法。
相关问题
使用python自带模块,用字符串密码加密文件
你可以使用 Python 标准库中的 `cryptography` 模块来进行加密。
下面是一个示例代码,用于使用密码加密文件:
```python
from cryptography.fernet import Fernet
# 生成一个随机的密钥
key = Fernet.generate_key()
# 将密钥保存到文件中
with open("key.key", "wb") as key_file:
key_file.write(key)
# 读取要加密的文件
with open("plaintext.txt", "rb") as plaintext_file:
plaintext = plaintext_file.read()
# 使用密钥创建一个加密器对象
cipher = Fernet(key)
# 加密文件内容
encrypted = cipher.encrypt(plaintext)
# 将加密后的内容保存到文件中
with open("encrypted.bin", "wb") as encrypted_file:
encrypted_file.write(encrypted)
```
这段代码将会生成一个随机的密钥,将其保存到文件中。然后读取要加密的文件,使用密钥创建加密器对象,加密文件内容并将其保存到文件中。
如果需要解密文件,则可以使用相同的密钥和加密器对象来解密文件。
python 文件字符串密码加密 自带模块
Python 自带了一些模块可以用于密码加密,其中较常用的是 hashlib 模块。具体使用方式如下:
1. 导入 hashlib 模块:
```python
import hashlib
```
2. 定义一个密码字符串:
```python
password = 'mypassword'
```
3. 将密码字符串使用 hashlib 模块中的 sha256 方法进行加密:
```python
hashed_password = hashlib.sha256(password.encode()).hexdigest()
```
4. 加密后的密码为 hashed_password,可以存储到文件或数据库中。
完整代码如下:
```python
import hashlib
password = 'mypassword'
hashed_password = hashlib.sha256(password.encode()).hexdigest()
print(hashed_password)
```
注意:这种加密方式只是单向加密,即无法通过加密后的结果还原出原本的密码。因此在验证密码时,需要将输入的密码同样经过加密后再与存储的加密后的密码进行比对。