reset_pwd.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. import bcrypt
  2. import pymysql
  3. import sys
  4. def get_db_connection():
  5. return pymysql.connect(
  6. host='127.0.0.1',
  7. user='db_app_auth',
  8. password='BTSai123_app_auth',
  9. database='food_db',
  10. cursorclass=pymysql.cursors.DictCursor,
  11. autocommit=True
  12. )
  13. def reset_pwd(username, plain_password):
  14. conn = get_db_connection()
  15. if not conn:
  16. print("Failed DB connection!")
  17. sys.exit(1)
  18. hashed = bcrypt.hashpw(plain_password.encode('utf-8'), bcrypt.gensalt()).decode('utf-8')
  19. with conn.cursor() as cursor:
  20. rows = cursor.execute("UPDATE users SET password_hash = %s WHERE username = %s", (hashed, username))
  21. if rows > 0:
  22. print(f"✅ Successfully updated password for {username}!")
  23. else:
  24. print(f"❌ User '{username}' not found in database!")
  25. conn.close()
  26. if __name__ == "__main__":
  27. if len(sys.argv) < 3:
  28. username = input("Enter Username: ")
  29. plain_password = input("Enter New Password: ")
  30. else:
  31. username = sys.argv[1]
  32. plain_password = sys.argv[2]
  33. reset_pwd(username, plain_password)