我知道如何将用户输入保存到文本文件,但我如何加密它?这是我将用户输入保存到文本文件的方法。我试过f.encrypt("Passwords_log.txt"
但没有结果
import time
password1 = input("Please type a password: ")
print("Your password has passed the verification!")
time.sleep(1)
print("Saving and encrypting password...")
time.sleep(2)
f=open("Passwords_log.txt",'a')
f.write(password)
f.write('\n')
f.close()
print("Done!")
答案 0 :(得分:4)
有一些Python软件包值得检查一下加密密码。
cryptography
的一个简单示例如下:
from cryptography.fernet import Fernet
key = Fernet.generate_key()
cipher_suite = Fernet(key)
cipher_text = cipher_suite.encrypt(b"A really secret message. Not for prying eyes.")
plain_text = cipher_suite.decrypt(cipher_text)
答案 1 :(得分:0)
我想你想得到一些密码的哈希值,但是文件对象与它无关。您可以尝试使用base64
编码(例如here)或此类任何其他算法。
您的代码:
import time
import base64
password1 = raw_input("Please type a password: ")
print("Your password has passed the verification!")
time.sleep(1)
print("Saving and encrypting password...")
time.sleep(2)
f=open("Passwords_log.txt",'a')
password = base64.b64encode(password)
f.write(password)
f.write('\n')
f.close()
print("Done!")
答案 2 :(得分:0)
然后我建议您使用https://pythonhosted.org/passlib/或pycrypto;取决于你选择的算法。
这只是存储加密密码。然后加密数据看看https://pypi.python.org/pypi/pycrypto/2.6.1。
答案 3 :(得分:0)
你说过,你试过base64
但它没有用。以下是如何使其工作:
import base64
import time
password1 = input("Please type a password: ")
print("Your password has passed the verification!")
time.sleep(1)
print("Saving and encrypting password...")
time.sleep(2)
f=open("Passwords_log.txt",'a')
cr = base64.encodestring(password1)
f.write(cr)
f.write('\n')
f.close()
print("Done!")
这不是真正的加密,我不会推荐它用于密码,但是因为你在评论中说你试图使用base64
并且它没有用,我认为我应该向您展示如何在代码中使用base64
。