要保护存储密码的 .txt
文件,可以使用以下方法:
.txt
文件中。只有掌握加密密钥的人才能解密并获得原始密码。以下是一个使用AES加密算法的示例代码:from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
def encrypt_password(key, password):
cipher = AES.new(key, AES.MODE_EAX)
nonce = cipher.nonce
ciphertext, tag = cipher.encrypt_and_digest(password)
return nonce + ciphertext + tag
def decrypt_password(key, encrypted_data):
nonce = encrypted_data[:16]
ciphertext = encrypted_data[16:-16]
tag = encrypted_data[-16:]
cipher = AES.new(key, AES.MODE_EAX, nonce)
password = cipher.decrypt_and_verify(ciphertext, tag)
return password
# 生成随机密钥
key = get_random_bytes(16)
# 原始密码
password = "my_password"
# 加密密码并存储到文件
encrypted_data = encrypt_password(key, password)
with open("password.txt", "wb") as f:
f.write(encrypted_data)
# 从文件中读取加密后的密码并解密
with open("password.txt", "rb") as f:
encrypted_data = f.read()
decrypted_password = decrypt_password(key, encrypted_data)
print(decrypted_password.decode())
.txt
文件的访问权限设置为只允许特定用户或用户组访问,以防止未经授权的访问。在Linux系统中,可以使用 chmod
命令设置文件的权限。例如,只允许文件所有者访问该文件可以使用以下命令:chmod 700 password.txt
.txt
文件存储在加密的存储设备上,如加密的USB闪存驱动器、加密的硬盘分区等。这样即使文件被未经授权的人获取,也无法读取其中的内容。请注意,以上方法仅为提供一定的保护,但并不能绝对防止密码泄露。在实际应用中,还需要综合考虑安全需求,如使用更强大的加密算法、安全存储密码的设备、访问控制等来确保密码的安全性。