Програма Text Recoded пропонує такі корисні операції над заданими текстовими даними:
- Кодування, декодування та перекодування між простим текстом, шістнадцятковим і кодуванням Base64
- Шифрування та дешифрування за допомогою шифру Цезаря
- Створення хешів необроблених і відформатованих текстових даних з метою перевірки їх цілісності
Кодування текстових даних у шістнадцяткове кодування або кодування Base64 можна використати, щоб переконатися, що вихідні текстові дані не будуть змінені через те, що середовище зберігання чи передачі обробляє їх у несумісному наборі символів.
Шифрування з використанням шифру Цезаря, який є простим шифром заміни, можна використовувати в багатьох випадках, коли текстові дані повинні залишатися прихованими від звичайних людей, які зазвичай не потрудилися їх розшифрувати. Однак він не підходить для захисту конфіденційних даних, оскільки їх можна легко розшифрувати за допомогою сучасних технологій.
Процедура шифрування та дешифрування, реалізована програмою Text Recoded, пояснюється в наступному прикладі з використанням «TEXT» як введення та «test» як ключа:
Вхід: ТЕКСТ (T=84, E=69, X=88, T=84)
Ключ: тест (t=116, e=101, s=115, t=116)
Процедура: вхід + ключ
Вивід у десятковому вигляді: (200,170,203, 200)
Вивід у шістнадцятковій системі: C8AACBC8
Розшифровка є прямою протилежністю вищезазначеному, тобто зашифрований вихід – ключ. У нашому випадку це буде:
C8AACBC8 - тест = ТЕКСТ
Програма Text Recoded отримує та доставляє вхідні та вихідні текстові дані, а також ключ для шифрування в кодуванні UTF-8, яке підтримує весь набір символів Unicode, який містить символи майже всіх систем письма світу.
Довжина введення не обмежена, крім доступної пам’яті. Ключ також може мати будь-яку довжину, однак, якщо він довший за вхідний, він скорочується до вхідної довжини, ділиться на фрагменти вхідної довжини, а потім значення додаткових фрагментів додаються до першого фрагменту.
Вихід шифрування може бути в шістнадцятковому кодуванні або кодуванні Base64. Робота з двійковими даними не підтримується в цій версії.
З метою забезпечення цілісності виведених даних також можна включити їхні хеші у вікно виводу як для операцій перекодування, так і для шифрування.
Зауважте, що вироблені хеші бувають трьох типів, які пояснюються нижче.
Хеш для ВСЬОГО текстового вмісту створюється для всього вмісту вказаних текстових даних, включаючи порожні місця, як-от пробіли, табуляції та нові рядки, якщо такі є.
Хеш для відформатованого текстового вмісту FMT створюється для тексту, його внутрішніх пробілів і нових рядків, за винятком усіх порожніх рядків і пробілів навколо нього.
Хеш для текстового вмісту RAW створюється лише для самого тексту, виключаючи всі типи порожніх пробілів: порожні рядки, пробіли, табуляції та нові рядки.
Для перевірки цілісності заданих текстових даних у випадках, коли потрібне хешування не у форматі RAW, важливі довжина рядка, кількість рядків і тип символів нового рядка. Це пояснюється тим, що Windows використовує коди символів #13#10 для зберігання нових рядків, тоді як операційна система Linux використовує лише код символів #10 для зберігання нових рядків. Таким чином, якщо хеш для текстових даних створюється в одній ОС, але потребує перевірки в іншій, потрібно встановити відповідний параметр. Для цього існує поле вибору між символами нового рядка Windows і Linux під час створення хешів.