Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифрование 
:(
    Опции темы
Alll
Дата 31.3.2005, 15:48 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











В рамках учебного процесса есть простенькая БД. Неогходимо написать функцию которая кодирует и раскодирует данные в БД. Подскажите где можно найти алгоритмы шифрования. Желательно очень простенькие. Ну и вообще если кто что нить знает подскажите как лучше сделать . За ранее спасибо.
  Вверх
trix
Дата 31.3.2005, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Observer Grabus
**


Профиль
Группа: Участник
Сообщений: 534
Регистрация: 30.1.2003
Где: Odessa

Репутация: 2
Всего: 12





--------------------
Тупое, бездушное SMS никогда, слышите вы? никогда не заменит живое общение по ICQ!
PM MAIL WWW ICQ   Вверх
Alll
Дата 1.4.2005, 07:45 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Впечетляет : ) Спасибо.
  Вверх
Alll
Дата 1.4.2005, 15:19 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Извените , а попроще нельзя. мне это надо сделать в Turbo C
  Вверх
Alastis
Дата 2.4.2005, 08:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 251
Регистрация: 15.11.2004
Где: Казахстан, Астана

Репутация: 4
Всего: 10



Если тебе нужны алгоритмы шифрования, то что мешает тебе сделать какой нибудь свой собственный? Есть ну очень много информации об этом в сети... к примеру вот очень простой алгоритм XOR (написано для борландовского билдера, но я думаю - это просто переделать под C):
Код

AnsiString XOR_Crypt(AnsiString in, AnsiString pass)
{
AnsiString out;
for (int x=1;x<in.Length()+1;x++)
        {
        out += (char)(in[x] ^ pass[x%pass.Length()+1]);
        }
return out;
}


вот сюда посмотри, все очень просто как ты просил


--------------------
Прости, что я говорю, когда ты меня перебиваешь.
PM MAIL WWW ICQ   Вверх
Дрон
Дата 2.4.2005, 10:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 10
Всего: 93



Вот функция от Alastis, оптимизированная под обычный Cи.
Код

char* XOR_Crypt(const char* in, const char *pass)
{
    char *out = strdup(in), *ptr;
    int pl = (int)strlen(pass);
    int i;
    for(ptr = out, i = 0; *ptr != '\0'; ptr++, i++)
         *ptr ^= pass[i % pl];
    return out;
}

Нужно проинклюдить <string.h>
На выходе получаем закодированную строку, которую после использования надо удалить через free.
Особенность в том, что выполняется копирование памяти, а если у тебя большие объёмы памяти, то под ДОС её может и не хватить.

Если же у тебя не строки, а произвольный поток байтов (т.е. может содержать байт с кодом 0), и копировать память нежелательно, то используй такое:
Код

void XOR_Crypt(char* in, int length, const char* pass)
{
    int pl = (int)strlen(pass);
    int i;
    for(i = 0; i < length; i++)
         *in ^= pass[i % pl];
}

Разница в том, что принимает на вход ещё и длину блока, который нужно закодировать/раскодировать и изменяет прямо его, не создавая копии.

ЗЫ: Эти функции используются и для кодирования и для раскодирования. Если пароль неправильный, то на выходе получается всякая абракадабра.

Это сообщение отредактировал(а) Дрон - 2.4.2005, 10:24


--------------------
Да. Именно так.
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0502 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.