from flask import Blueprint, request, jsonify import base64 from util.logger import logger from auth.token import verify_token base64_blueprint = Blueprint('base64_tool', __name__) @base64_blueprint.route('/api/base64/encode', methods=['POST']) def encode(): user = verify_token() if not user: return jsonify({"message": "Nicht autorisiert"}), 401 try: data = request.get_json() text = data.get("text", "") result = base64.b64encode(text.encode()).decode() logger.info(f"Base64 kodiert von {user['username']}") return jsonify({"result": result}) except Exception as e: logger.error(f"Fehler Base64 encode: {e}") return jsonify({"message": "Fehler beim Kodieren"}), 500 @base64_blueprint.route('/api/base64/decode', methods=['POST']) def decode(): user = verify_token() if not user: return jsonify({"message": "Nicht autorisiert"}), 401 try: data = request.get_json() text = data.get("text", "").strip() result = base64.b64decode(text.encode()).decode('utf-8') logger.info(f"Base64 dekodiert von {user['username']}") return jsonify({"result": result}) except Exception as e: logger.error(f"Fehler Base64 decode: {e}") return jsonify({"message": "Ungültiger Base64-Input"}), 400