Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шифрование данных 
:(
    Опции темы
MrDmitry
Дата 20.10.2009, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(mrbrooks @ 20.10.2009,  13:34)
Цитата(MrDmitry @  20.10.2009,  13:30 Найти цитируемый пост)
А как проверить его длину

если брать твой код за основу то примерно так:
Код

void __fastcall TAuthForm::FormShow(TObject *Sender)
{
     std::auto_ptr<TFileStream>file(new TFileStream("user.dat",fmOpenRead));
if(!file->Size)
{      
     wchar_t *buf = new wchar_t[file->Size];
     file->Read(buf,file->Size);
     std::auto_ptr<TStringList>list(new TStringList);
     list->Text = String(buf);
     list->Text = DecodeString(list->Text);
     String login = list->Strings[0];
     String pass = list->Strings[1];
     if(login == ""){
      Label3->Visible = true;
      CheckBox1->Visible = false;
     }
    else
    {
     loginEdit->Text = login;
     passEdit->Text = pass;
      Label3->Visible = false;
      CheckBox1->Visible = true;
      CheckBox1->Checked = true;
    }
}
else ShowMessage("Файл пуст!");
}

пишет файл пуст (((
хотя опять же визуально я его вижу

содержимое

YW50b24NCnBhc3N3b3JkDQo=


ниже пустая строка

PM MAIL   Вверх
MrDmitry
Дата 21.10.2009, 22:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Парни раз уж поднимал такую тему, не подскажите а как шифровать xor?? гуглил, но ни чего путевого там не нашол,  или не понел smile
PM MAIL   Вверх
xvr
Дата 22.10.2009, 10:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(MrDmitry @ 21.10.2009,  22:40)
Парни раз уж поднимал такую тему, не подскажите а как шифровать xor?? гуглил, но ни чего путевого там не нашол,  или не понел smile

Берешь генератор случайных чисел (лучше криптографически стойкий, например RC4), генеришь им столько байтов, сколько символов тебе надо зашифровать. Потом применяешь операцию '^' между каждым байтом с генератора и исходными символами. Получаешь БИНАРНУЮ зашифрованную последовательность

Код

class RndStreamFast {
 unsigned char S[256];
 unsigned char ci, cj;

public:

 RndStreamFast(const void* passwd, size_t length);
 int get_byte();
};


int RndStreamFast::get_byte()
{
 ci++; cj+=S[ci];
 std::swap(S[ci],S[cj]);
 return S[(S[ci]+S[cj])&255];
}

RndStreamFast::RndStreamFast(const void* passwd, size_t length)
{
 int i,k;
 unsigned char K[256];
 const char* rnd_bits = (const char*)passwd;

 for(i=0;i<255;++i) S[i]=i;
 ci=cj=0;

 // Fill array K by 256 bytes key (you can use any algorithm, as you wish)
 for(i=0;i<16;++i)
  {
   MD5 md5;
   int sh=i;
   for(k=0;k<64;++k)
    {
     md5.update(rnd_bits+sh,1);
     sh+=237; sh%=length;
    }
   md5.final(K+i*16);
  }

 unsigned char j=0;
 for(i=0;i<256;++i)
  {
   j+=S[i]+K[i];
   std::swap(S[i],S[j]);
  }
}

AnsiString crypt(AnsiString data, RndStreamFast& rgen)
{
 for(size_t i=1;i<=data.Length();++i)
  data[i]^=rgen.get_byte();
 return data;
}



Добавлено через 1 минуту и 36 секунд
Да, кстати. Простой EncodeString не дает НИКАКОЙ защиты. base64 кодировку видно даже невооруженным глазом  smile 
Это поможет только от пользователей, которые панически боятся компьютера  smile 
PM MAIL   Вверх
Нитонисе
Дата 11.1.2010, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Что это за ошибка?
Код

[Linker Error] Unresolved external 'MD5::MD5()' referenced from D:\ÏÐÎÃÐÀÌÈÐÎÂÀÍÈÅ\ÇÀÙÈÒÀ\ÃÅÍÅÐÀÒÎÐ ÊÎÄÀ\UNIT1.OBJ

Md5 подключен инструкцией #include "Md5.h"
PM MAIL   Вверх
xvr
Дата 11.1.2010, 15:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

Репутация: 48
Всего: 223



Цитата(Нитонисе @ 11.1.2010,  12:38)
Что это за ошибка?
Код

[Linker Error] Unresolved external 'MD5::MD5()' referenced from D:\ÏÐÎÃÐÀÌÈÐÎÂÀÍÈÅ\ÇÀÙÈÒÀ\ÃÅÍÅÐÀÒÎÐ ÊÎÄÀ\UNIT1.OBJ

Md5 подключен инструкцией #include "Md5.h"

Нужно в проект подключить модуль md5 (он не только из md5.h состоит, там еще md5.cpp есть)

PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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