Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

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


Новичок



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

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



Здравствуйте на просторах интернета нашел код Шифрования Вернама
http://zetblog.ru/programming/200812...0/#comment-924 
только он не работает Incompatible types: 'String' and 'Integer' ругается на строку:
shStr[i]:=oStr[i] xor key[i];
пишу так то же самое:
shstr:=((StrToInt(ostr[i])) xor (StrToInt(key[i])));
и так не работает 
Ord(oStr[i]) xor Ord(key[i])
и ещё вопрос как сделать чтоб можно было шифровать больше 255 символов???
сам шифр
Код

procedure shifr_Vernam;

var

  oStr, key, shStr :string;

  i:integer;

begin

  oStr:='Holo word!';  //определяем открытый текст

  randomize; //Необходимая функция для функции random, чтобы последняя каждый раз выдавала случайные значения

//генерируем случайный ключ длиной равной длине открытого текста

  for i:=1 to length(oStr) do

    key[i]:=Chr(random(255)); //генерируем случайное число из диапозона от 0 до 255, и полученное число переводим в символ;

//собственно само шифрование

  for i:=1 to length(oStr) do

  shStr[i]:=oStr[i] xor key[i];

//для наглядности выведем на экран результат работы

  lbl1.Caption:=('Otkrytyi text: ',oStr);

  lbl2.Caption:=('Zashifrovanyi text: ',shStr);

end;


Это сообщение отредактировал(а) Kossssssss - 4.6.2013, 15:47

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  Shifr.rar 484,25 Kb
PM MAIL   Вверх
Beltar
Дата 4.6.2013, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Конечно не работает, Ord это хорошо, но ведь и в результирующей строке надосимвол к целому приводить. А вообще в новых Delphi д/б ф-ия перевода строки в байтовый массив.


--------------------
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы. smile(с) я, хотя может и нет
Пищущий на C++ мужик. Даже если это мужик сидит в написанном на Delphi и жрущем паскалевскую библиотеку билдере.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

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

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

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

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


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

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


 




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


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

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