Добрый день!
Хотел бы продолжить обсуждение темы "Шифр Цезаря", начатую Aleri
в разделе "Вопросы новичков" и показать актуальныю версию класса CaesarCipher.
Предыдущая версия умела взламывать шифротекст двумя методами
BruteForceDecoding и DecodingByCharacterFrequency.
Оба определяли ключи шифрования, дешифровывали шифротексты методом decode
и возвращали для выбора все найденные варианты взлома.
В новой версии в метод decode добавлено вычисление статитический рейтингов
дешифрованных текстов.
Теперь методы BruteForceDecoding и DecodingByCharacterFrequency
возвращают упрядоточенные по рейтингам варианты декодирования.
Это позволяет определять один наиболее достоверный вариант взлома шифротекста.
Для тестированиия добавлены частотный алвавиты - русский, английский,
немецкий и латинский, а также тестовые тексты на этих языках.
Постарюсь, сделать описание класса и выложу ссылку для скачивания.
Можете посмотреть демо версию здесь.
https://www.alto-booking.com/dem...SU/CaesarCipher/
Буду блогодарен за вопросы, замечания и предложения.
р.s. для тех, кто знает немецкий, в немецком тесте, текст 2 на баварском,
а текст 3 его перевод на немецкий.
1. Vladimir Kheifets - 13 Февраля, 2021 - 17:11:30 - перейти к сообщению
2. Vladimir Kheifets - 17 Февраля, 2021 - 13:55:14 - перейти к сообщению
(дополнение)
PHP класс CaesarCipher
https://www.alto-booking.com/dem...SU/CaesarCipher/
Cоздание экземпляра класса.
PHP класс CaesarCipher
https://www.alto-booking.com/dem...SU/CaesarCipher/
Cоздание экземпляра класса.
Спойлер (Отобразить)
Методы класса CaesarCipher.
1. Метод encode
Шифрует текст заданным ключом
Спойлер (Отобразить)
2. Метод decode
Дешифрует текст заданным ключом и вычисляет частотный рейтинг дешифрованного текста.