from flask import Blueprint, request, jsonify import hashlib import bcrypt from util.logger import logger from auth.token import verify_token hasher_blueprint = Blueprint('hasher_tool', __name__) @hasher_blueprint.route('/api/hash/sha256', methods=['POST']) def hash_sha256(): user = verify_token() if not user: return jsonify({"message": "Nicht autorisiert"}), 401 try: data = request.get_json() text = data.get("text", "") result = hashlib.sha256(text.encode()).hexdigest() logger.info(f"SHA256 erstellt von {user['username']}") return jsonify({"sha256": result, "by": user['username']}) except Exception as e: logger.error(f"Fehler SHA256: {e}") return jsonify({"message": "Fehler beim Hashen"}), 500 @hasher_blueprint.route('/api/hash/bcrypt', methods=['POST']) def hash_bcrypt(): user = verify_token() if not user: return jsonify({"message": "Nicht autorisiert"}), 401 try: data = request.get_json() text = data.get("text", "") hashed = bcrypt.hashpw(text.encode(), bcrypt.gensalt()).decode() logger.info(f"bcrypt erstellt von {user['username']}") return jsonify({"bcrypt": hashed, "by": user['username']}) except Exception as e: logger.error(f"Fehler bcrypt: {e}") return jsonify({"message": "Fehler beim Hashen"}), 500