Разработка

Шифрование текста

Зашифруйте текст с паролем через AES-GCM или обработайте совместимый устаревший формат.

  • Быстро и бесплатно
  • Данные остаются у вас
  • Без регистрации
01

Исходные данные

На вашем устройстве

Запускается кнопкой

Данные и параметры инструмента
02

Результат

Здесь появится результат

Введите данные и нажмите кнопку запуска

О шифровании и расшифровке текста

Инструмент шифрует текст по паролю и восстанавливает его при вводе подходящего результата и того же пароля. Основной формат использует AES-GCM; дополнительные режимы предназначены для работы с прежними форматами CryptoJS.

Что защищает AES-GCM

Шифрование преобразует исходные байты в данные, которые восстанавливаются с правильным ключом. Режим GCM дополнительно проверяет целостность: повреждение шифротекста или неверный пароль приводит к ошибке проверки, а не к выдаче произвольной строки.

Здесь 256-битный ключ получается из пароля через PBKDF2-SHA256 с 600000 итерациями и случайной солью. Для каждого нового шифрования создается также случайный IV. Поэтому одинаковые текст и пароль дают разные контейнеры, что является нормальным результатом.

Пароль, ключ и параметры получения ключа

Пароль является текстом, который вводит человек. AES работает с ключом фиксированной длины, поэтому здесь между ними стоит PBKDF2. Соль меняет результат получения ключа для каждого нового контейнера, а количество итераций увеличивает работу при проверке кандидата пароля.

Соль и IV сохраняются рядом с шифротекстом, поскольку нужны для восстановления. Они не заменяют пароль и не должны приниматься за второй секрет. Утрата самого пароля отличается от утраты полей контейнера: правильный пароль не позволяет восстановить удаленные соль, IV или байты данных произвольным образом.

Целостность шифротекста и доверие к отправителю

GCM проверяет соответствие шифротекста тегу аутентификации при выбранном ключе и IV. Это позволяет заметить повреждение или неверный пароль. Но общая парольная схема не устанавливает личность того, кто сформировал контейнер: любой знающий пароль может создать другой корректный результат.

Также эта страница не проверяет, актуально ли сообщение и не было ли оно уже обработано ранее. Если зашифрованный текст участвует в протоколе обмена, время, назначение и защиту от повторов нужно проектировать отдельно. Положительная расшифровка подтверждает выполнение криптографической операции, а не все условия использования данных приложением.

Как сохранить текст и затем восстановить его

Выберите «Зашифровать», укажите исходный текст, пароль и AES-GCM, затем нажмите кнопку запуска. Сохраните JSON-контейнер целиком. Он содержит версию, параметры получения ключа, соль, IV и шифротекст с тегом аутентификации. Пароль в контейнер не включается.

Для восстановления выберите «Расшифровать», вставьте весь контейнер и тот же пароль. Удаление полей, изменение значений или попытка подставить обычную Base64-строку вместо контейнера вызовет ошибку. Скачивание результата создает .json для AES-GCM и .txt для открытого текста.

Для чего оставлены legacy-режимы

AES-legacy, TripleDES-legacy, Rabbit-legacy и RC4-legacy работают с совместимой парольной строкой CryptoJS. Она не совпадает с JSON-контейнером AES-GCM. Алгоритм и пароль должны соответствовать исходному шифрованию.

Эти режимы не проверяют целостность. Неверный пароль иногда дает мусор вместо однозначной ошибки, поэтому их результат нельзя считать подтвержденным только по отсутствию сообщения. Для новых данных выбирайте основной формат и пароль, который не угадывается по словарю.

Шифруется текст UTF-8 объемом до 100000 байт, не произвольный файл. Восстановление забытого пароля и работа с чужими контейнерами AES с другими параметрами здесь не предусмотрены.