Главная страница
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.029 c
15-1164102361
Cyrax
2006-11-21 12:46
2006.12.10
Чем отличается кодер от программиста ?


2-1164269942
Dimon777
2006-11-23 11:19
2006.12.10
Как правильно написать предложение Insert в SQL запрос


15-1164236733
Стример
2006-11-23 02:05
2006.12.10
Скажите. в Линуксе есть dll и IStream ?


8-1145944179
TRyaSS
2006-04-25 09:49
2006.12.10
Как найти угол между отрезком и осью(любой )


10-1126267280
Nick Denry
2005-09-09 16:01
2006.12.10
Microsoft Character Agent