From bbb1a70b9c27f9264365f523256238e79dfd5bcd Mon Sep 17 00:00:00 2001 From: Nirodan Date: Tue, 17 Jun 2025 11:00:26 +0200 Subject: [PATCH] MD5 hasher Bug Fix + Logger --- backend/app.py | 38 +++++++++++++++++++++++------ frontend/src/components/Md5Tool.jsx | 3 ++- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/backend/app.py b/backend/app.py index 7f0ead9..82df706 100644 --- a/backend/app.py +++ b/backend/app.py @@ -6,6 +6,7 @@ from jwt import decode, ExpiredSignatureError, InvalidTokenError import time import os import jwt +import logging app = Flask(__name__) app.template_folder = "templates" @@ -15,6 +16,18 @@ CONFIG_PATH = "config/db_config.json" MAX_WAIT = 30 # In Sekunden WAIT_INTERVAL = 10 +logging.basicConfig( + level=logging.INFO, + format="%(asctime)s [%(levelname)s] %(message)s", + handlers=[ + logging.FileHandler("logs/app.log"), + logging.FileHandler("logs/errors.log"), + logging.StreamHandler() + ] +) + +logger = logging.getLogger(__name__) + def ist_konfiguriert(): return os.path.exists(CONFIG_PATH) @@ -138,21 +151,30 @@ def verify_token(): @app.route('/api/hash/md5', methods=['POST']) def hash_md5(): + logger.info("🔁 /api/hash/md5 aufgerufen") + user = verify_token() if not user: + logger.warning("⛔ Nicht autorisiert") return jsonify({"message": "Nicht autorisiert"}), 401 - data = request.get_json() - password = data.get("password", "") + try: + data = request.get_json() + logger.debug(f"📩 Payload: {data}") + password = data.get("password", "") - import hashlib - result = hashlib.md5(password.encode()).hexdigest() + import hashlib + result = hashlib.md5(password.encode()).hexdigest() - return jsonify({ - "md5": result, - "by": user['username'] - }) + logger.info(f"✅ Hash erstellt von {user['username']}") + return jsonify({ + "md5": result, + "by": user['username'] + }) + except Exception as e: + logger.error(f"❌ Fehler beim Hashen: {e}") + return jsonify({"message": "Fehler beim Hashen"}), 500 if __name__ == '__main__': diff --git a/frontend/src/components/Md5Tool.jsx b/frontend/src/components/Md5Tool.jsx index da202a2..07c3263 100644 --- a/frontend/src/components/Md5Tool.jsx +++ b/frontend/src/components/Md5Tool.jsx @@ -7,7 +7,8 @@ function Md5Tool() { const hashPassword = async () => { try { - const res = await axios.post('/hash/md5', { password: input }); + const res = await axios.post('/api/hash/md5', { password: input }); + setResult(res.data.md5); } catch (err) { alert('Fehler beim Hashen');