/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/python/code-414-1112-005/main.py
44 строки
2 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
import os from typing import Dict, Optional class SafeConfigManager: """Менеджер безопасной конфигурации""" def __init__(self): self._secrets_patterns = [ 'password', 'secret', 'key', 'token', 'credential', 'api_key', 'auth' ] def is_sensitive(self, key: str) -> bool: """Проверка на чувствительность переменной""" key_lower = key.lower() return any(pattern in key_lower for pattern in self._secrets_patterns) def get_masked_value(self, value: str, visible_chars: int = 4) -> str: """Маскировка секретного значения""" if len(value) <= visible_chars: return '*' * len(value) return value[:visible_chars] + '*' * (len(value) - visible_chars) def get_env_safe_dict(self) -> Dict[str, str]: """Получение словаря без чувствительных данных""" safe_dict = {} for key, value in os.environ.items(): if not self.is_sensitive(key): safe_dict[key] = value else: safe_dict[key] = self.get_masked_value(value, 4) return safe_dict def get_structure_only(self) -> list: """Получение только имён переменных без значений""" return list(os.environ.keys()) # Пример использования config = SafeConfigManager() masked_config = config.get_env_safe_dict() structure = config.get_structure_only() print(masked_config) print(structure)