Методология и источники
Сервис анонимный: он не хранит и не передаёт то, что вы вводите. Все расчёты выполняются в вашем браузере.
Источники данных
SecLists — 100 000 самых используемых паролей (NCSC)
Лицензия: MIT · https://raw.githubusercontent.com/danielmiessler/SecLists/1a7bb9127eca9e6ff2fc0301c597fe6e16a0cb56/Passwords/Common-Credentials/100k-most-used-passwords-NCSC.txt
Используется для локальной проверки.
Have I Been Pwned — API ranges (k-anonymity)
Лицензия: Бесплатно, без ключа · https://haveibeenpwned.com/API/v3
Опциональная "глубокая проверка". Из России часто недоступен из-за Cloudflare.
PCRE / ECMAScript — синтаксис регулярных выражений
Лицензия: Открытый стандарт · https://www.pcre.org/
Основа библиотеки сниппетов и парсера регулярок.
Vixie cron — формат расписаний
Лицензия: Общественное достояние · https://man7.org/linux/man-pages/man5/crontab.5.html
Пять полей * * * * *, расширения L/# /? - Quartz-style.
EFF Large Wordlist — словарь для diceware-фраз
Лицензия: CC0 1.0 · https://www.eff.org/diceware-wordlist-and-philosophy-of-password-security
Используется режимом «Парольная фраза» в генераторе паролей.
База утёкших паролей
Локальная база содержит 99 839 уникальных паролей (SecLists NCSC-100k, MIT) и хранится как фильтр Блума в файле /data/breached-bloom.a521eb61.json. Параметры фильтра:
- n = 99 839 — число элементов в базе;
- p = 0.1 % — целевая вероятность ложного срабатывания;
- m = 1 435 448 бит (234 КБ) — размер битового массива;
- k = 10 — число независимых хеш-функций (двойное FNV-1a).
Ложное срабатывание возможно только в безопасную сторону: сервис посоветует сменить пароль, которого на самом деле нет в базе. Обратной ошибки (пропустить реально утёкший пароль) у фильтра Блума не бывает. Файл неизменяемый — браузер кэширует его.
Энтропия пароля
Базовая формула для равновероятного случайного пароля (режим «Случайный»): длина × log₂(размер алфавита). Алфавит считается из реально использованных символов сгенерированного пароля.
Остальные режимы считают энтропию иначе:
- Pronounceable —
pronounceableEntropyBits(): чередование гласных/согласных из двух фиксированных наборов, энтропия ниже, чем у случайного той же длины. - Easy-To-Type —
easyToTypeEntropyBits():длина × log₂(56), алфавит — 56 символов без похожих (0 1 l o I O). - Diceware —
dicewareEntropyBits():число_слов × log₂(7776)≈ 12,925 бит на слово, словарь EFF (public domain).
Все оценки предполагают равновероятный выбор и не учитывают, что сервис может хранить пароль в виде обратимого хеша, ограничивать длину или добавлять серверный шум. Реальная стойкость — это свойство системы хранения, а не только строки.
Расписание cron
Поддерживается Vixie cron в пять полей (минуты часы день_месяца месяц день_недели) с расширениями Quartz: L в поле дня месяца (последний день и L-3 — за три дня до конца), # и L в поле дня недели (5#3 — третья пятница, 5L — последняя пятница). Символ ? трактуется как *. Разбор и валидация выполняются в браузере.
Ближайшие 5 запусков считаются функцией nextRuns(cron, count = 5, from) из того же файла. Защита от бесконечного цикла на невыполнимых выражениях вроде «30 февраля»: расчёт ограничен 5 годами вперёд (MAX_YEARS_AHEAD = 5). Если за 5 лет не набирается 5 запусков, инструмент вернёт столько, сколько нашёл. Время сравнения — локальное время браузера.
Регулярные выражения
Каталог инструмента — 66 пресетов в 8 группах (страница-каталог: /regex/library/). Движок — встроенный RegExp браузера, синтаксис — стандарт ECMAScript (подмножество PCRE).
Шаблоны — это общедоступные паттерны, проверенные на тестовых строках из вики и документации соответствующих RFC. Это не полная валидация по RFC: например, шаблон URL пропускает невалидные IDN, а шаблон даты — не проверяет високосность за пределами формата YYYY-MM-DD. Для строгой проверки используйте специализированные библиотеки.
Ограничения
- Проверка покрывает только пароли, попавшие в опубликованные утечки. Отсутствие в базе не гарантирует, что пароль не скомпрометирован другим способом.
- Энтропия считается по формуле
длина × log₂(алфавит)и предполагает равновероятный выбор. Реальная стойкость зависит от того, как сервис хранит пароль. - Расчёт следующих запусков cron идёт в выбранном часовом поясе (по умолчанию — пояс браузера); выбрать другой IANA-пояс можно в конструкторе /cron/.
- Сканер секретов ловит значения по списку префиксов и форматов, он приведён в подсказке на странице инструмента. «Совпадений не найдено» не означает, что секретов нет: не ищутся публичные идентификаторы (Twilio Account SID, Stripe
pk_), значения без опознаваемого префикса, зашифрованные блобы и секреты, разбитые переносом строки.
| Инструмент | Лимит | Поведение при превышении |
|---|---|---|
| csv | 5 000 000 символов (MAX_CSV_INPUT_CHARS) | Ошибка «Вход слишком длинный», ввод не разбирается. |
| json | 5 000 000 символов (MAX_INPUT_CHARS), глубина 2000 (MAX_DEPTH) | Длинный ввод не разбирается; глубже 2000 уровней — ошибка глубины. |
| yaml | 1 000 000 символов (MAX_YAML_INPUT_CHARS), 2 000 000 развёрнутых узлов (MAX_EXPANDED_NODES), глубина dump 1000 (MAX_DUMP_DEPTH) | Длинный ввод не разбирается; alias-бомба отсекается до сериализации; глубокий dump — ошибка вместо переполнения стека. |
| logs | 100 000 000 символов (MAX_LOG_INPUT_CHARS), топ-10 позиций (TOP_N) | Длинный ввод не разбирается; в топах и примерах только первые позиции. |
| encode | 2 000 000 символов (MAX_ENCODE_INPUT_CHARS) | Ошибка «Вход слишком длинный», ввод не конвертируется. |
| strings | 100 000 символов (MAX_STRINGS_INPUT_CHARS) | Ошибка «Вход слишком длинный», текст не обрабатывается. |
| url | первые 500 пар query (MAX_QUERY_ROWS) | Остальные пары не рендерятся, в заметках — «показаны первые 500 из N». |
| diff | 500 000 символов двух полей (MAX_DIFF_CHARS), 5 000 строк вывода (MAX_RENDERED_OPS) | Расчёт не запускается (ошибка лимита); длинный вывод усечён. |
| secret-scanner | 200 000 символов (MAX_SCAN_CHARS), 500 находок (MAX_FINDINGS) | Скан не запускается; отчёт обрывается с пометкой «показаны не все». |
| radix | 4096 значащих цифр (MAX_SIGNIFICANT_DIGITS) | Разбор отклоняется с ошибкой лимита. |
| subnet | первые 256 подсетей (MAX_SPLIT_ROWS) | Показаны первые 256 из N подсетей, остальные не выводятся. |
| cron | 5 лет вперёд (MAX_YEARS_AHEAD) | Возвращается столько запусков, сколько нашлось за этот срок. |
| timestamp | пределы Date: ±8 639 999 999 999 999 мс (MAX_UNIX_MS) | Даты вне диапазона ECMA-262 не поддерживаются. |
Тулы без собственного ограничения длины (например,hash,jwt, regex) обрабатывают ввод целиком. Живой пересчёт тяжёлых тулов (csv, json, yaml, regex, logs) откладывается общим debounce на 200 мс — вставка не пересчитывается на каждый символ.
Инструменты
- ПаролиСгенерировать пароль и проверить, не утёк ли он
- CronСобрать расписание и узнать, когда оно сработает
- Регулярные выраженияРазобрать, объяснить и проверить регулярное выражение
- JWT-декодерРазобрать JWT и проверить подпись открытым ключом
- Хеш-генераторMD5, SHA-1 и SHA-2 хеши строки, hex-байтов или файла со сверкой суммы
- JSON-форматированиеПроверка, форматирование и минификация JSON с позицией ошибки
- SQL-форматтерПереносы по клаузам, отступы подзапросов и верхний регистр ключевых слов
- JSON в TypeScriptJSON → TypeScript-интерфейсы и Zod-схемы с настройками вывода
- Кодирование и декодированиеКонвертер text ↔ Base64 ↔ Base64url ↔ Hex с валидацией и позицией ошибки
- HTML-сущностиТекст ↔ HTML-сущности: encode, decode и превью текстом
- Unix-время и датыКонвертер unix-времени в дату и обратно, с часовыми поясами и DST
- URL и query-stringКодирование URL и разбор query-string в таблицу с ошибками по позициям
- Сравнение текстов (diff)Построчный и символьный diff двух текстов с выводом в unified-формате
- Поиск секретов в текстеМгновенный поиск утечек токенов, ключей и паролей прямо в браузере
- Конвертер YAMLДвусторонняя конвертация YAML ↔ JSON с позицией ошибки
- Семантические версии и диапазоныПроверка версий на совместимость с npm-диапазоном: ^, ~, ||, пререлизы
- Анализ серверных логовРазбор nginx access-лога: статусы, топ URL и IP, список ошибок
- Строки и URL-слагРегистры имён (camel, snake, kebab) и слаг из кириллицы с транслитерацией
- Строки: сортировка и дедупСортировка, дедупликация, нумерация и обрезка пробелов в многострочном тексте
- Markdown: предпросмотрПредпросмотр и HTML из markdown — разметка строится по белому списку тегов
- CSV ↔ JSON конвертерДвусторонняя конвертация CSV ↔ JSON: разделитель, кавычки, BOM, типизация
- Генератор UUIDОт 1 до 100 UUID v4/v7, ULID и Nano ID с проверкой формы, версии и времени
- Конвертер систем счисленияЦелые числа между BIN, OCT, DEC и HEX без потери точности
- ПодсетиМаска, адрес сети и диапазон узлов по записи CIDR
- Права доступаВосьмеричные и символьные права, setuid, setgid и sticky
- Размер данныхПеревод между десятичными (СИ) и двоичными (МЭК) единицами
- Конвертер цветаHEX, RGB, HSL и CSS-имена в одном месте