Поиск:

Ответ в темуСоздание новой темы Создание опроса
> XOR-шифрование 
:(
    Опции темы
NYX
Дата 20.1.2010, 14:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 165
Регистрация: 9.1.2007
Где: Россия, Москва

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



Очередное сори за подъем старой темы. Вообще XOR шифрование самое убогое smile его мона взять тока за основу. При шифровании методом XOR, надо учесть не один нюанс:
1 - строка A должна быть того же размера что и строка B
2 - символ Аn != Bn (иначе потеря данных)

Лично я как то пытался сделать шифрование по XOR методу, но исключительно шифрование ограничивалось массивами суммой которых являлось одно число и сортировка массивов была
разной. 
То есть например есть массив N элементы которого равны N1 = N0+1
Затем производил сортировку типа: x = N[i]; N[N[x]] += z; N[N[x]] -= z; (примерно)
После чего строки мона было XOR'ить smile

Но самый лучший метод который мне понравился, это когда заранее определенный массив состоящий из N1 = N0+1 изначально, сортировался по маске значений пароля, затем входящий поток 
шифровался простым return Table[InValue]; Это на мой взгляд и быстро и весьма широкие границы воображения открывает smile

Это сообщение отредактировал(а) NYX - 20.1.2010, 14:44
--------------------
'long long long' is too long for GC
PM   Вверх
Жанерке
Дата 24.10.2011, 13:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



объясните плиз xor шифрование ааааа
вообще как шифровать слово

Добавлено через 1 минуту и 23 секунды
procedure TForm1.Button2Click(Sender: TObject);
   var FName: string;
begin

      if OpenDialog1.Execute then
       begin
        FName := OpenDialog1.FileName;
        Memo1.Lines.LoadFromFile(FName);
       end;
end;

procedure TForm1.Button1Click(Sender: TObject);
  var j: integer;
  key, text, longkey, result: string;
  i: integer;
  toto, c: char;
begin


        if edit1.Text='' then  Application.MessageBox('Вкажіть код!', ä!','Помилка!')
         else
         begin
              if Memo1.Lines.Count=0 then  Application.MessageBox('Відсутній код!','Помилка!!!')
                 else
                 begin

                   key:=Edit1.Text;
                   for j:=0 to Memo1.Lines.Count do
                    begin

                      text:=Memo1.Lines.Strings[j];

                      for i := 0 to (length(text) div length(key)) do
                        longkey := longkey + key;
                        for i := 1 to length(text) do
                        begin
                          toto := chr((ord(text[i]) xor ord(longkey[i]))); // XOR алгоритм
                          result := result + toto;
                        end;
                      Memo1.Lines.Strings[j]:=result;
                      end;
                   //zapuskaesh codirovanie
                 end;
         end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var FName: string;
begin
if SaveDialog1.Execute then
       begin
        FName := SaveDialog1.FileName;
        Memo1.Lines.savetofile(FName);
       end;

end;

end.
че за программа
PM MAIL   Вверх
cutwater
Дата 24.10.2011, 16:19 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Цитата(Жанерке @  24.10.2011,  12:47 Найти цитируемый пост)
объясните плиз xor шифрование ааааа
вообще как шифровать слово


Прежде объясните каким простите концом тот ваш код на Delphi (к тому же не оформленный как код) относится к С++

По теме
http://lmgtfy.com/?q=xor+%D1%88%D0%B8%D1%8...%BD%D0%B8%D0%B5




--------------------
user posted image
PM MAIL   Вверх
SVN74
Дата 24.10.2011, 19:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Простейший  алгоритм кодирования…
Код

void SimpleCodeByKey(char *Buff, unsigned int Size, char* KeyW)
{
    int Sz = strlen(KeyW);
    for(unsigned int i=0;i<Size;i++)
    Buff[i] = char(Buff[i] ^ KeyW[i % Sz]);
}


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

// Создаем буфер и копируем в него наш текст из Memo1
    int MyBuffSize = Memo1->Text.Length()+1;
    char *MyBuffer = new char[MyBuffSize];
    strcpy(MyBuffer, Memo1->Text.c_str());

    // Кодируем наш буфер
    SimpleCodeByKey(MyBuffer, MyBuffSize, "Наш ключ = Ася");

    //Смотрим на наш перевернутый буфер
    Memo1->Lines->Add("==== После кодирования ====");
    Memo1->Lines->Add(AnsiString(MyBuffer));

    // Раскодируем наш буфер
    SimpleCodeByKey(MyBuffer, MyBuffSize, "Наш ключ = Ася");

    //Снова смотрим на наш перевернутый буфер
    Memo1->Lines->Add("==== После раскодирования ====");
    Memo1->Lines->Add(AnsiString(MyBuffer));


PM MAIL WWW   Вверх
koroplysov
Дата 3.11.2011, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Возьмите наш ГОСТ 28147-89 и шифруйте на здоровье. В режиме гаммирования получите текст той же длинны. И надежно и просто. Операции там примитивные:побитовое исключающее или, сложение по модулю 2 в степени 32(просто не учитывай перенос при сложении беззнаковых 32-битных), сдвиг в лево на 11 бит и таблица замен. Пишится легко как на C++ так и на ассемблере(вставка для билдера). Сейчас с собой нет кода, но если нужно, то с удовольствием поделюсь. Есть и другие алгоритмы.
PM MAIL   Вверх
Страницы: (3) Все 1 2 [3] 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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