Форум: "Начинающим";
Текущий архив: 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.047 c