Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.12.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.47 MB
Время: 0.049 c
15-1164221174
vruslana
2006-11-22 21:46
2006.12.10
Не получаеться описать функцию


2-1164292892
Panaev
2006-11-23 17:41
2006.12.10
Вопрос по MaskEdit


15-1163946111
tesseract
2006-11-19 17:21
2006.12.10
Кредитка, нормальная


5-1144928569
BPK
2006-04-13 15:42
2006.12.10
Как создать редактор свойства как для TDBGrid.Columns ?


2-1164138008
~Aid~
2006-11-21 22:40
2006.12.10
списки





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский