Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Звіт
Предмет:
Методи та засоби криптографічних перетворень
Група:
ІБ – 44

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ “ЛЬВІВСЬКА ПОЛІТЕХНІКА”  ЗВІТ ДО ЛАБОРАТОРНОЇ РОБОТИ № 1 З КУРСУ “ Методи та засоби криптологічних перетворень” ШИФР ЗСУВУ Мета роботи: Написати программу для шифрування методом pcede забезпечення введеня стрічки і ключа з клавіатури і виведення шифрованої і дешифрованої стрічки на екран Змінні і константи використані в программі : LOWER – нижня межа в латинниці UPPER – верхня межа в латинниці ALPHABET – довжина алфавіту FILE_NAME – назву файлу з шифрованою строкою ARRAY_SIZE – довжина стрічки для шифрування і – лічильник циклу move – зсув cryptedString – шиврована стрічка decryptedSrting – дешифрована стрічка Блок схема:  Текст программи #include <iostream> #include <stdio.h> #define LOWER 97 #define UPPER 122 #define ALPHABET_LENGHT 26 #define FILE_NAME "crypt.txt" #define ARRAY_SIZE 100 using namespace std; //Convert word to lower case void convertToLittleWord(char *str) { for(int i = 0; str[i] != '\0'; i++) { str[i] = tolower(str[i]); } } //Save string to file void saveCryptedString(char str[]) { FILE *fp; if( (fp = fopen(FILE_NAME, "w")) == NULL) { cout << "Error opening file " << FILE_NAME << endl; exit(1); } else { fputs( str, fp ); fclose( fp ); } } //Read string from file void loadCryptedString(char *cryprStr) { FILE *fp; if( (fp = fopen(FILE_NAME, "r")) == NULL) { cout << "Error opening file " << FILE_NAME << endl; exit(1); } else { fgets( cryprStr, ARRAY_SIZE , fp ); } } // Crypt string void Crypt(char *str, int move ) { convertToLittleWord(str); for(int i = 0; str[i] != '\0'; i++) { int charPosWithMove = (int)str[i] + move; if(UPPER < charPosWithMove) { charPosWithMove = charPosWithMove - ALPHABET_LENGHT; } str[i] = (char)charPosWithMove; } saveCryptedString(str); } //Decrypt string void Decrypt(char *str, int move ) { loadCryptedString(str); for(int i = 0; str[i] != '\0'; i++) { int charPosWithMove = (int)str[i] - move; if(charPosWithMove < LOWER) { charPosWithMove = charPosWithMove + ALPHABET_LENGHT; } str[i] = (char)charPosWithMove; } } void main() { char cryptString[ARRAY_SIZE]; int move; cout << "Enter string to crypt"<< endl; cin.get(cryptString, ARRAY_SIZE); cout << "Enter move"<< endl; cin >> move; Crypt(cryptString, move); cout << cryptString << endl; cout << "Push to decrypt" << endl; system("Pause"); cout << "Decrypt String" << endl; char decryptString[ARRAY_SIZE]; Decrypt(decryptString, move); cout << decryptString << endl; } Результат :  Висновок: в данній роботі я створив программу на мові С для шифрування і дешифрування тексту методом зсуву.
Антиботан аватар за замовчуванням

01.01.1970 03:01-

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!