Шифрование / расшифровка AES
Вставьте текст и парольную фразу, чтобы быстро зашифровать или расшифровать данные выбранным шифром PHP OpenSSL. AES — симметричный блочный шифр, стандартизированный NIST в FIPS 197 и используемый во многих системах TLS, WPA2, VPN и шифрования дисков, но эта страница — удобная утилита для текста низкого риска, а не аудированное хранилище секретов. Для чувствительных файлов или долгоживущих секретов используйте offline-инструмент вроде age, GnuPG или 7-Zip.
Как зашифровать текст с AES
-
1
Выберите шифр OpenSSL
Текущие варианты включают CBC, CTR и GCM. CBC и CTR не аутентифицированы, а этот инструмент не сохраняет и не проверяет тег аутентификации GCM.
-
2
Введите парольную фразу
Парольная фраза один раз хэшируется SHA-256, чтобы сформировать ключ AES. Здесь нет PBKDF2, соли, Argon2 или фактора стоимости, поэтому используйте длинную случайную фразу.
-
3
Вставьте текст низкого риска
Это серверная утилита Livewire/PHP OpenSSL. Не вставляйте пароли, production-ключи, приватные документы или секреты, которые вы не готовы отправить этому сайту.
-
4
Скопируйте результат Base64
При шифровании создается случайный IV, добавляется перед сырым шифротекстом, а затем объединенные байты кодируются в Base64. Для расшифровки нужны тот же шифр и та же парольная фраза.
Что на самом деле выводит инструмент
Эта реализация использует PHP OpenSSL. При шифровании она хэширует парольную фразу SHA-256, создает случайный IV нужной для выбранного шифра длины, шифрует текст и возвращает:
Base64(IV || шифротекст)
Вывод не содержит соль, параметры PBKDF2, HMAC или тег аутентификации GCM. Он несовместим с форматами Web Crypto, age, GnuPG, рецептами OpenSSL из командной строки или 7-Zip.
Варианты AES в контексте
У AES фиксированный размер блока 128 бит (16 байт) и стандартные размеры ключа 128, 192 и 256 бит. Важная разница безопасности здесь не только в размере ключа, но и в том, аутентифицировано ли зашифрованное сообщение.
| Вариант шифра | Что важно знать в этом инструменте |
|---|---|
| AES-128-CBC / AES-192-CBC / AES-256-CBC | Распространенный блочный режим со случайным IV и padding PKCS#7. Для обнаружения подмены нужен отдельный MAC, например HMAC-SHA-256. |
| AES-256-CTR | Превращает AES в потокоподобный режим. Также требует отдельной аутентификации, и тот же IV/счетчик нельзя повторно использовать с тем же ключом. |
| AES-128-GCM / AES-256-GCM | GCM обычно является режимом AEAD, но только когда тег аутентификации сохранен и проверяется. Вывод этого инструмента не содержит такой тег, поэтому не полагайтесь на него как на аутентифицированное шифрование. |
Напоминания по безопасности
Рекомендации OWASP по криптографическому хранению советуют использовать аутентифицированное шифрование, где это возможно, или шифрование с отдельным MAC. Учитывайте это при работе с этой утилитой:
- Это симметричное шифрование - та же парольная фраза расшифровывает. Передавайте ее по другому каналу, отдельно от шифротекста.
- Слабая парольная фраза здесь дает слабый ключ - SHA-256 быстрый и без соли, поэтому злоумышленник может быстро проверять догадки, если получит вывод.
- CBC и CTR требуют аутентификации - без HMAC или другого MAC злоумышленник иногда может изменить шифротекст без обнаружения.
- Не используйте IV или nonce повторно с тем же ключом - инструмент создает новый случайный IV при шифровании, но вставленные внешние данные должны соблюдать то же правило.
- Для настоящих секретов используйте аудированные инструменты - age, GnuPG и 7-Zip аккуратнее работают с форматами файлов, метаданными и аутентификацией.
Часто задаваемые вопросы
Текущий компонент хэширует парольную фразу SHA-256 и использует полученные байты как материал ключа для OpenSSL. Он не использует PBKDF2, соль, scrypt или Argon2, поэтому короткая или повторно используемая фраза рискованна.
Нет. CBC и CTR требуют отдельный MAC, например HMAC-SHA-256. Хотя GCM обычно дает AEAD-аутентификацию, этот инструмент не сохраняет и не проверяет тег GCM в выводе Base64.
На сервере сайта, когда действие Livewire запускает PHP OpenSSL. Это не инструмент Web Crypto, работающий только в браузере, поэтому не вставляйте ценные секреты, приватные ключи или чувствительные документы.
Результат Base64 содержит случайный IV, за которым идет сырой шифротекст. Padding CBC может добавить байты, а Base64 увеличивает бинарные данные примерно на треть. Сохраненный формат не содержит соль или тег аутентификации.
Этот инструмент работает только с текстом и лучше подходит для фрагментов низкого риска. Для файлов или важных секретов используйте аудированную offline-утилиту шифрования, например age, GnuPG или 7-Zip.
Сопутствующие инструменты
Кодировщик шифра A1Z26
Кодируйте текст шифром A1Z26 (A=1, B=2, ... Z=26) или декодируйте числовую последовательность обратно в буквы, выбрав разделитель.
Кодировщик шифра Атбаш
Кодируйте или декодируйте текст шифром Атбаш, еврейской заменой, где A-Z отображается в Z-A. Одна и та же операция шифрует и расшифровывает.
Счётчик слов
Подсчитайте слова, символы, предложения и абзацы с учётом времени чтения, времени произнесения вслух, плотности ключевых слов и оценки удобочитаемости по Флешу — для эссе, постов, подписей и meta-описаний.
Калькулятор прогноза роста взрослого
Оцените будущий рост ребенка по росту родителей и текущему возрасту с помощью mid-parental formula и типичных диапазонов точности.
Калькулятор нумерологии
Рассчитайте нумерологические числа имени по пифагорейским или халдейским значениям букв: выражение, стремление души и личность.
Калькулятор возраста собаки
Переведите возраст собаки в человеческие годы по современным ветеринарным данным. Маленькие, средние, крупные и гигантские собаки стареют с разной скоростью.