|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.06.2010, 19:43 | #1 |
Новичок
Джуниор
Регистрация: 28.05.2010
Сообщений: 1
|
гаммирование
Здравствуйте, уважаемые! не могу разобратся что в итоге получится, какой (ключ, шифр) как именно зашифровали.
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <windows.h> #include <string.h> #include <iostream.h> //--------------------------------------------------------------------------- #pragma argsused void crypt(const char *str,char a,char c,char g0, char *res, unsigned n) { char Gamma=g0; for(unsigned i=0; i<n; i++) { Gamma=(a*Gamma +c) %256; res[i]=str[i]^Gamma; res[n]='\0'; } } void Encrypt(const char *str, char a, char c, char g0,char *res,unsigned n) { char Gamma=g0; for(unsigned i=0; i<n; i++) { Gamma=(a*Gamma + c) % 256; res[i]=str[i]^Gamma; res[n]='\0'; } } char buffer[100]; char *translate(char *str) { CharToOem(str,buffer); return buffer; } int main() { char a,c,g0; unsigned n; char str[80], s[80], res[80]; void crypt(const char *str,char a,char c,char g0, char *res, unsigned n); translate("Введите символы ключа а и с"); cout<<buffer<<endl; cin>>a>>c; translate("Введите символы начальной гаммы шифра"); cout<<buffer<<endl; cin>>g0; translate("Введите строку для шифрования"); cout<<buffer<<endl; cin>>str; n=strlen(str); crypt(str,a,c,g0,res,n); cout<<res<<endl; Encrypt(res,a,c,g0,str,n); cout<<str; getch(); } //--------------------------------------------------------------------------- |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Гаммирование | Killer_66 | Общие вопросы C/C++ | 1 | 08.12.2007 12:54 |