Шифрование и еще кое-что
От: List  
Дата: 10.07.04 19:22
Оценка:
Здравствуйте.
У меня есть два вопроса. Я прошу вас не объяснять мне, как примерно это делается, а привести, если это не очень сложно, уже готовый код. спасибо заранее. итак, две задачи:

1. Нужна функция-криптограф и функция-декриптограф. Есть несколько объектов типов string и TStrings, и все их нужно зашифровать. Хотелось бы, чтобы шифровка производилась в зависимости от числа, сообщаемого функции. Таким образом, функция-криптограф для строки, имея аргументами строку и число, должна вернуть уже зашифрованную строку. А функция-декриптограф, имея аргументами зашифрованную строку и то же самое число, возвращала расшифрованную строку. То же самое для Tstrings.

2. Нужны функции, устанавливающая однозначное соответствие между строками до 5 символов и числами. Таким образом, получив в качестве аргумента эту строку, она должна возвращать число.

Еще раз спасибо заранее. Надеюсь, вы мне поможете.
Re: Шифрование и еще кое-что
От: List  
Дата: 10.07.04 19:52
Оценка:
Да, оговорюсь еще, что мне все это надо на дельфи, ну на паскале, то есть.
Re: Шифрование и еще кое-что
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 10.07.04 20:11
Оценка:
Здравствуйте, List, Вы писали:

L>Здравствуйте.

L>У меня есть два вопроса. Я прошу вас не объяснять мне, как примерно это делается, а привести, если это не очень сложно, уже готовый код. спасибо заранее. итак, две задачи:

L>1. Нужна функция-криптограф и функция-декриптограф. Есть несколько объектов типов string и TStrings, и все их нужно зашифровать. Хотелось бы, чтобы шифровка производилась в зависимости от числа, сообщаемого функции. Таким образом, функция-криптограф для строки, имея аргументами строку и число, должна вернуть уже зашифрованную строку. А функция-декриптограф, имея аргументами зашифрованную строку и то же самое число, возвращала расшифрованную строку. То же самое для Tstrings.


Прочитал ваш второй пост и прямо задумался — код под С++ Билдер вас точно не устроит... А жаль


L>2. Нужны функции, устанавливающая однозначное соответствие между строками до 5 символов и числами. Таким образом, получив в качестве аргумента эту строку, она должна возвращать число.


Это называется хеширование. Готовых алгоритмов на паскале — море. Как пример — CRC32, MD5 и пр. На www.torry.net есть точно. Это же касается и вашего первого вопроса.
Re[2]: Шифрование и еще кое-что
От: List  
Дата: 10.07.04 20:18
Оценка:
F>Это называется хеширование. Готовых алгоритмов на паскале — море. Как пример — CRC32, MD5 и пр. На www.torry.net есть точно. Это же касается и вашего первого вопроса.


Спасибо, но зашеля туда... с английским у меня проблемы, да и найти быстро нало... хотелось бы поточнее...
Re[3]: Шифрование и еще кое-что
От: Flamer Кипр http://users.livejournal.com/_flamer_/
Дата: 10.07.04 20:32
Оценка:
Здравствуйте, List, Вы писали:

F>>Это называется хеширование. Готовых алгоритмов на паскале — море. Как пример — CRC32, MD5 и пр. На www.torry.net есть точно. Это же касается и вашего первого вопроса.



L>Спасибо, но зашеля туда... с английским у меня проблемы, да и найти быстро нало... хотелось бы поточнее...


Если настолько проблемы с английским, то, конечно, все хуже... В общем, вот:

http://www.torry.net/pages.php?id=519

И обратите внимание на меню слева
Re[4]: Шифрование и еще кое-что
От: List  
Дата: 10.07.04 20:57
Оценка: :)
Да, проблемы именно настолько... А вам очень трудно достать для меня собственно функцию?
Re: Шифрование и еще кое-что
От: Stanky  
Дата: 11.07.04 08:24
Оценка:
> 1. Нужна функция-криптограф и функция-декриптограф. Есть несколько
> объектов типов string и TStrings, и все их нужно зашифровать. Хотелось
> бы, чтобы шифровка производилась в зависимости от числа, сообщаемого
> функции. Таким образом, функция-криптограф для строки, имея аргументами
> строку и число, должна вернуть уже зашифрованную строку. А
> функция-декриптограф, имея аргументами зашифрованную строку и то же
> самое число, возвращала расшифрованную строку. То же самое для
> Tstrings.
>
Лично я пользуюсь для шифрования строк своей собственной кодовой таблицей!!! Почему бы и тебе так не поступить?
Posted via RSDN NNTP Server 1.9 beta
Не бойся выглядеть глупо, от этого ты выглядишь ещё глупей!!!
Re: Шифрование и еще кое-что
От: Кодт Россия  
Дата: 11.07.04 11:06
Оценка:
Здравствуйте, List, Вы писали:

L>У меня есть два вопроса. Я прошу вас не объяснять мне, как примерно это делается, а привести, если это не очень сложно, уже готовый код. спасибо заранее. итак, две задачи:


L>1. Нужна функция-криптограф и функция-декриптограф. Есть несколько объектов типов string и TStrings, и все их нужно зашифровать. Хотелось бы, чтобы шифровка производилась в зависимости от числа, сообщаемого функции. Таким образом, функция-криптограф для строки, имея аргументами строку и число, должна вернуть уже зашифрованную строку. А функция-декриптограф, имея аргументами зашифрованную строку и то же самое число, возвращала расшифрованную строку. То же самое для Tstrings.


L>2. Нужны функции, устанавливающая однозначное соответствие между строками до 5 символов и числами. Таким образом, получив в качестве аргумента эту строку, она должна возвращать число.


Какой степени сложности тебе нужны алгоритмы?
Самый простой — это проксорить или сложить по модулю.
procedure scramble(var s: string, const k: string, d: boolean);
{ s - строка, подлежащая шифрованию }
{ k - ключевая строка (возможно, 1-символьная) }
{ d - направление (шифрование/дешифрование) }
{ предполагается, что нулевых символов в строках нет }
{ также предполагается, что char = 0..255 }
var
  i, l, j: integer;
begin
  l := length(k); { длина ключа }
  if(l = 0) return; { нечего шифровать }
  for i := 1 to length(s) do
  begin
    j := (i-1) mod l + 1; { элеметы ключа перебираются поочерёдно }
    if d then s[i] := chr( (ord(s[i]) + ord(k[j]) + 254) mod 255 + 1 )
         else s[i] := chr( (ord(s[i]) - ord(k[j]) + 254) mod 255 + 1 );
     { сложение в кольце по модулю 255, с поправкой на то, что s[i] = 1..255, а не 0..254 }
  end;
end;
Перекуём баги на фичи!
Re[5]: Шифрование и еще кое-что
От: Thespian Украина  
Дата: 12.07.04 15:41
Оценка:
Здравствуйте, List, Вы писали:

L>Да, проблемы именно настолько... А вам очень трудно достать для меня собственно функцию?


По слову "TStrings", я так понял нужно для Делфи. Здесь лежит компонент MTCoder с идеей немецкого блокнота времён Первой Мировой.

З.Ы. Там и пример есть...
... << RSDN@Home 1.1.3 stable >>
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.