Главная страница
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.068 c
1-1161859464
17Landgraf
2006-10-26 14:44
2006.12.10
Как узнать вызываемую фу-ию из DLL


15-1164110366
daser
2006-11-21 14:59
2006.12.10
Как отправить e-mail, зная SMTP-сервер и логин на почт. сервере?


2-1164184870
vitv
2006-11-22 11:41
2006.12.10
Миграция с InterBase 6.1


2-1164034693
go2lo
2006-11-20 17:58
2006.12.10
Простое заксоривание.


1-1161938497
Krants
2006-10-27 12:41
2006.12.10
PopupMenu и Hint