为什么我的函数 save_users(): 不起作用?如何将这些密码保存到文件中?


from hashlib import sha256
import random, sys

def hash(string):
'''Hashes a string'''
return sha256(
string.encode()).hexdigest() # when using hash() returns a hashed string

def save_users():
f = open("UserDetails.txt", "w")
f.write("Username;{} nPassword:{}".format(username, password))
f.close

print("nWelcome")
signIn = input("Do you have an account? [Y/N]").upper()
if signIn == "N":
print("Sign up :")
username = input("New Username: ")
password = hash(input("New Password: "))
confirm = hash(input("ConfirmPassword: ")) == password
print(password)
if not confirm:
print("Passwords do not match")
save_users()

"打印(密码(";只是为了测试它是否真的对字符串进行了哈希处理,因为这是我第一次做这样的事情。我将如何将密码和用户名保存到电子邮件中,同样,我将如何验证密码和用户名?

Python 3.8.5

替换:

def save_users():
f = open("UserDetails.txt", "w")
f.write("Username;{} nPassword:{}".format(username, password))
f.close

带有:

def save_users(username, password):
f = open("UserDetails.txt", "w")
f.write("Username;{} nPassword:{}".format(username, password))
f.close()

并用save_users(username, password)而不是save_users()调用它

from hashlib import sha256
def hash(string):
'''Hashes a string'''
return sha256(
string.encode()).hexdigest() 

def save_users(username, password):
with open("UserDetails.txt", "w") as f:
f.write("Username;{} nPassword:{}".format(username, password))

print("nWelcome")
signIn = input("Do you have an account? [Y/N]").upper()
if(signIn == "N"):
print("Sign up :")
username = input("New Username: ")
password = hash(input("New Password: "))
confirm = hash(input("ConfirmPassword: ")) == password
if(confirm):
save_users(username, password)
else:
print("Passwords do not match")
else:
print("you are already have an account")

测试此

最新更新