レコード#
- 62 日目のコードを変更して、アカウントとパスワードを作成します。
- コードを初めて実行する際に、アカウントとパスワードがない場合は、アカウントとパスワードを作成します。アカウントとパスワードは replit db に保存されます。
- 再度実行する際には、アカウントとパスワードが正しい場合にのみアクセスできます。
- db の概念についてはまだ少し不明瞭であり、キーと値の処理に問題が発生しています。
- for ループの理解が少し難しく、ループのプロセスと結果をすばやく理解することができません。
CODE#
from replit import db
import os, datetime, random, time
correctPassword = "1"
def add(t):
db[timestamp] = t
def view():
show = "n"
for key in dblist:
if show.lower() == "n" and key != "userinfo":
print(f"{key}: {db[key]}")
print("---")
elif show.lower() == "e":
break
show = input("Next or Exit? > ")
while True:
dblist = db.keys()
if "userinfo" not in dblist:
print("Set !")
username = input("Username > ")
password = input("password > ")
salt = random.randint(1000, 9999)
newpass = hash(f"{password}{salt}")
db["userinfo"] = {"username": username, "password": newpass, "salt": salt}
else:
print("Input !")
userinfo = db["userinfo"]
username = input("Username > ")
password = input("password > ")
salt = userinfo["salt"]
newpass = hash(f"{password}{salt}")
if username == userinfo["username"] and userinfo["password"] == newpass:
while True:
os.system("clear")
menu = input("Welcome\n1: Add\n2: View\n")
if menu == "1":
timestamp = datetime.datetime.now()
print(timestamp)
add(input("> "))
elif menu == "2":
view()
else:
print("username or password error!")
time.sleep(3)