optymalizacje_kodu #8

Merged
gru merged 23 commits from optymalizacje_kodu into master 2025-07-31 10:55:39 +02:00
Showing only changes of commit abca2e505d - Show all commits

26
app.py
View File

@@ -243,9 +243,33 @@ def hash_password(password):
def check_password(stored_hash, password_input):
"""Obsługuje zarówno hashe bcrypt (nowe), jak i stare Werkzeugowe (PBKDF2)."""
pepper = app.config["BCRYPT_PEPPER"]
peppered = (password_input + pepper).encode("utf-8")
return bcrypt.checkpw(peppered, stored_hash.encode("utf-8"))
# Rozpoznaj format hasha
if stored_hash.startswith("$2b$") or stored_hash.startswith("$2a$"):
# bcrypt
try:
return bcrypt.checkpw(peppered, stored_hash.encode("utf-8"))
except Exception:
return False
elif stored_hash.startswith("pbkdf2:"):
# STARY HASH! (Werkzeug)
# opcjonalnie: zrób check_password_hash, pozwól się zalogować, wymuś zmianę hasła
from werkzeug.security import check_password_hash
if check_password_hash(stored_hash, password_input):
# tu np. możesz zapisać nowe hasło w formie bcrypt!
# user.password_hash = hash_password(password_input)
# db.session.commit()
print("Użytkownik loguje się starym hasłem: wymuś zmianę na nowe!")
return True # POZWÓL JEDNORAZOWO
else:
return False
else:
# Nieznany format
return False
if app.config["SQLALCHEMY_DATABASE_URI"].startswith("sqlite:///"):