二手产品经理

二手产品经理

THIS IS RENO

Hash - 71天 - 在線學python100天

記錄#

  1. 今天學習的是密碼安全,對密碼進行 salt 和 hash。
  2. salt 應該保證是唯一不重複的,每個用戶的 salt 值都是單獨的。
  3. salt 的目的是保證密碼無法被逆向對撞,也就是黑客用彩虹表進行對撞。
  4. hash 是一種算法,還有 md5 也是。
  5. 今天的練習是寫一個登錄程序,包括創建用戶和用戶登錄兩個功能。

CODE#

from replit import db
import random

print("🌟Login System🌟")


def AddUser():
  username = input("Username > ")
  password = input("Password > ")
  salt = random.randint(1000, 9999)
  newpass = hash(f"{password}{salt}")
  db[username] = {"password": newpass, "salt": salt}
  print("Success")


def Login():
  username = input("Username > ")
  password = input("Password > ")
  salt = db[username]["salt"]
  newpass = hash(f"{password}{salt}")
  if db[username]:
    if newpass == db[username]["password"]:
      print(f"{db[username]}, Welcome!")
    else:
      print("Sorry1")
  else:
    print("Sorry2")


while True:
  menu = input("1: Add User\n2: Login\n")
  if menu == "1":
    AddUser()
  elif menu == "2":
    Login()


載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。