Форум С++

 

Ответить на сообщение

Вернуться к теме

Вы отвечаете на сообщение:

Автор: morgan18   (06.12.2011 в 18:52)
Задала мне училка написать программку на VC++, которая зашифровывает и расшифровывает строку. Так как я ленивый и пишу мало, то возникла куча вопросов.
1. При шифровании данные заносятся в текстовый файл(например строку crypt зашифровало так: 57 4 88 70 51), как считать из файла эти числа, чтобы расшифровать???

2. Как расшифрованое число перевести в символ(из символьного я делал так int(text[i]))?

3. И наверное самое главное(но не обязательно), что меня бесило это большие числа. Нарыл я где-то функцию, которая возводит в степень и берет остаток по модулю, но не врублюсь каким макаром она работает. Если не сложно, то растолкуйте

//a^m % m 
int modpow(int a, unsigned long long n, int m) {
 if (n == 1)
 return a % m;
 unsigned long long z;
 z = modpow(a, n / 2, m);
 z = (z * z) % m;
 if (n % 2 == 1)
 z = (z * a) % m;
 return (int)z;
}

Сам алгоритм подробно рассказан
habrahabr_ru/blogs/infosecurity/49634/ или paveldvlip_ru/algorithms/rsa.html


Ваше имя:

Пароль:

Цитировать

Используйте тэги для выделения текста:
Код: [code][/code]
Жирный: [b][/b]
Наклонный: [i][/i]
URL: [url][/url]

Сообщение:

Прикрепить: