Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.12.10;
Скачать: CL | DM;

Вниз

Помогите с шифрованием.   Найти похожие ветки 

 
lobach ©   (2006-11-23 12:31) [0]

Подскажите, где найти простой алгоритм шифрования строк. Очень простой. Нужно зашифровать строку, и записать ее в текст. файл, потом так-же прочитать и расшифровать.


 
Anatoly Podgoretsky ©   (2006-11-23 12:43) [1]

> lobach  (23.11.2006 12:31:00)  [0]

y = f(x)


 
Сергей М. ©   (2006-11-23 12:45) [2]


> lobach ©   (23.11.06 12:31)


Каков же критерий "простоты" ?


 
Jeer ©   (2006-11-23 12:50) [3]


> lobach ©   (23.11.06 12:31)


a..z == z..a


 
Amoeba ©   (2006-11-23 12:58) [4]

Скачай библиотеку QStrings (бесплатно, в исходниках, ее легко найдешь поисковиком). Содержит гигантское количество процедур и функций для работы со строками, в том числе и для их шифрования различными алгоритмами.


 
TrainerOfDolphins ©   (2006-11-23 12:59) [5]

Может быть
   for i:=1 to Length(S_old) do
     S_new[i]:=char(ord(S_old[i])+h)
Где S_old[i]-исходная строка, S_new[i] - зашифрованная строка, h - смещение.
В данном виде вероятны грабли, но главное идея...


 
Pavor ©   (2006-11-23 13:09) [6]

Также попробуй "шифрование" с xor, который "исключающее ИЛИ",
проще уж некуда.

Идея:
for i:=1 to Length(Str) do
    Str[i]:=char(ord(Str) xor $FF);


При таком способе шифрования, однако, в зашифрованной строке могут присутствовать коды не только печатых символов.
Расшифровка: выполнить тот же самый код на зашифрованной строке.


 
lobach ©   (2006-11-23 13:11) [7]


> в зашифрованной строке могут присутствовать коды не только
> печатых символов

В этом и моя проблема...


 
Jeer ©   (2006-11-23 13:14) [8]


> lobach ©   (23.11.06 13:11) [7]


> В этом и моя проблема...


См. метод подстановки [3].


 
lobach ©   (2006-11-23 13:26) [9]

Щас так буду пробовать: Разобью строку на куски (по 2 знака) и буду их разворачивать
lobach=olabhc


 
Anatoly Podgoretsky ©   (2006-11-23 13:28) [10]

> lobach  (23.11.2006 13:11:07)  [7]

> В этом и моя проблема...

Могут и не присутствовать, но это не проблема, если выход в диапазоне 0..255 - то это не строка, если нужна строка, то преобразовывай в транспортную упаковку.


 
Джо ©   (2006-11-23 13:37) [11]

function StrToHex (const Source: string): string;
var
 I: Integer;
 S: string;
begin
 SetLength (Result, Length(Source)*2);
 for I := 1 to Length(Source) do
 begin
   S := IntToHex(Ord(Source[I]),2);
   Result[I*2-1] := S[1];
   Result[I*2] := S[2]
 end;
end;

Обратно — так же тривиально.


 
Anatoly Podgoretsky ©   (2006-11-23 13:48) [12]


> lobach ©   (23.11.06 13:26) [9]

И откуда здесь появятся непечатные символы?


 
lobach ©   (2006-11-23 20:16) [13]


> И откуда здесь появятся непечатные символы?

Так потому и буду пробовать, что все символы нормальные...



Страницы: 1 вся ветка

Текущий архив: 2006.12.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.041 c
2-1164561641
Busik
2006-11-26 20:20
2006.12.10
Мой вопрос про изменение атрибутов файлов


15-1163941673
Alexey_k
2006-11-19 16:07
2006.12.10
книги


2-1164188498
menart
2006-11-22 12:41
2006.12.10
Как вычислить CRC16


3-1160030440
Term
2006-10-05 10:40
2006.12.10
Как работать с АДО напрямую не через компоненты


15-1164033526
Beavercrazy
2006-11-20 17:38
2006.12.10
Живо ли еще разрешение 800*600?