мовників. Фактично - будь-яке завдання, необхідну адміністратору, можна вирішити шляхом інтеграції сторонніх компонентів.
.2 Інтерфейс програми
У додатку є три групи користувачів з різними правами. Чи не зареєстровані користувачі можуть переглядати сайт, залишати відгуки в гостьовій книзі. Зареєстровані користувачі можуть переглядати фотоальбоми і викачувати файли. Третя група адміністраторів. Вони можуть змінювати статті, завантажувати файли та фотографії. На рис. 3.2 зображені всі модулі і компоненти присутнє на сайті.
На сайті використовуються 9 модулів і компонентів. Частина з них входять в стандартний набір joomla 1.5, а деякі були взяті з інтернету. У стандартний набір входять меню (2), «пошук по сайту» (3) і поле авторизації (8).
Рис. 3.2 - Модулі та компоненти сайту
На рис. 3.2 зображено те, що бачать не авторизовані користувачі. Для них відкритий перегляд файлів зберігаються на сайті, видно кількість відвідувань, гостьова книга, час і дата, швидке переміщення по сайту вгору (9) і можливість зареєструватися або авторизуватися.
Для авторизації потрібно спочатку пройти реєстрацію яка проходить з допомогою компонента «Аlpharegistration». На малюнку 3.3 зображено поле реєстрації.
Реєстрація за допомогою даного компонента проходить в три етапи, це можна побачити на малюнку. На першому етапі при заповненні полів даний компонент проводить перевірку на наявність однакових логінів і Е-mail-ів серед зареєстрованих користувачів. Також визначається складність пароля і хешіруются вони за допомогою 128-бітного алгоритму хешування MD5. На вхід алгоритму надходить вхідний потік даних, хеш якого необхідно знайти. Довжина повідомлення може бути будь-який (у тому числі нульовою). Запишемо довжину повідомлення в L. Це число ціле і невід'ємне. Кратність небудь числах необов'язкова. Після надходження даних йде процес підготовки потоку до обчислень. Нижче наведено 5 кроків алгоритму:
Малюнок 3.3 - Вікно реєстрації
Крок 1. Вирівнювання потоку
Спочатку дописують одиничний біт в кінець потоку (байт 0x80), потім необхідне число нульових біт. Вхідні дані вирівнюються так, щоб їх новий розмір був порівнянний з 448 по модулю 512 (). Вирівнювання відбувається, навіть якщо довжина вже порівнянна з 448.
Крок 2. Додавання довжини повідомлення
В залишилися 64 біта дописують 64-бітове представлення довжини даних (кількість біт в повідомленні) до вирівнювання. Спочатку записують молодші 4 байти. Якщо довжина перевершує, то дописують лише молодші біти. Після цього довжина потоку стане кратної 512. Обчислення грунтуватимуться на представленні цього потоку даних у вигляді масиву слів по 512 біт.
Крок 3. Ініціалізація буфера
Для обчислень инициализируются 4 змінних розміром по 32 біта і задаються початкові значення шестнадцатерічнимі числами (шістнадцяткове представлення, спочатку молодший байт):
А=23 січня 45 67;
В=89 ABCDEF;
С=FEDCBA 98;=76 54 32 10.
В цих змінних будуть зберігатися результати проміжних обчислень. По...