ифровки.
* @ param privateKey закритий ключ.
* @ return розшифроване повідомлення.
*/static String decode (String data, PrivateKey privateKey) throws BadPaddingException {res = n ull; {
// Створюється примірник кодіровшіка на основі алгоритму RSA.dec = Cipher.getInstance (ALGORITHM);
// Ініціалізація кодувальника закритим ключем .. init (Cipher.DECRYPT_MODE, privateKey);
// Розшифровка повідомлення за один прохід.
res = new String (dec.doFinal (data.getBytes ()));
} catch (NoSuchAlgorithmException e) {. printStackTrace ();
} catch (NoSuchPaddingException e) {. printStackTrace ();
} catch (InvalidKeyException e) {. printStackTrace ();
} catch (IllegalBlockSizeException e) {. printStackTrace ();
} res;
}
Метод initKey () ініціалізує пару ключів (відкритий і закритий), необхідну для шифрування та дешифрування повідомлень. Опис методу представлено нижче:
/**
* Метод генерує пару ключів, необхідну для
* дешифрування вхідних повідомлень. p align="justify"> private void initKeys () {
if (internalKeyPair == null) {generator; {= KeyPairGenerator.getInstance (RSACipher.ALGORITHM);. initialize (512); = generator.generateKeyPair ();
} catch (NoSuchAlgorithmException e) {. printStackTrace ();
}
}
}
5 Тестування програми
Щоб запустити програму, на комп'ютері повинна бути встановлена ​​JVM (віртуальна машина Java) версії 1.6.
Для запуску чату з консолі нудно написати таку команду: java-jar путь_к_файлу_.jar.
Після це має з'явитися головне вікно програми (рис. 5.1).
В
Малюнок 5.1 - Головне вікно програми
Для перевірки всіх мережевих функцій потрібно запустити ще один клієнт програми на іншому комп'ютери в тій же мережі. Після цього за допомогою передачі спеціальних пакетів (PRSN і SYNC), обидва клієнта синхронізуються. Результуюче відображення показано на малюнку 5.2, отримані пакети на першому клієнті показані на малюнку 5.3. br/>В
Малюнок 5.2 - Головне вікно після входу ще одного користувача
В
Малюнок 5.3 - Отримані пакети
Для зміни ника потрібно в полі з ніком ввести новий нік і натиснути клавішу Enter. Після цього має відбутися оновлення нік-нейма користувача в обох клієнтах (рис. 5.4, 5.5). <В
Малюнок 5.4 - Відображення після оновлення ...