Главная страница
    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.47 MB
Время: 0.036 c
2-1163948920
windows
2006-11-19 18:08
2006.12.10
timer - handle - winapi


1-1161929527
Shlomo
2006-10-27 10:12
2006.12.10
Точка входа в проц-у ConvertToGlobalHandle не найден в kernel32


2-1164489332
kami
2006-11-26 00:15
2006.12.10
Потокобезопасность TStringList


3-1159775522
VALUA
2006-10-02 11:52
2006.12.10
Копирование базы BASA.GDB в другую папку


1-1162067771
Gear
2006-10-29 00:36
2006.12.10
Ошибки страниц памяти и неизвестное исключение 0EEDFADE





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский