3rd
Июн

Вставка произвольных непечатных символов перед шифрованием и удаление рандомных знаков после расшифровки

Posted by admin under Delphi, Топик-обзор

есть текст который шифруется определенным способом. НО перед шифрованием в текст добавляются хаотично и рандомно непечатные символы, затем шифруется, передается, расшифровывается и вытягиваются рандомные непечатные символы, нужно для того что бы повысить уровень криптозашиты.

const
NPCS: set of char = [#0..#8, #11, #12, #14..#31, '' ];

function NO(Source: string): string;
var
n, c: integer;
begin
Randomize;
Result := Source;
n := (Length(Source) * 2) + Random(Length(Source));
while Length(Result) < n do
begin
c := Random(128);
if Chr(c) in NPCS then
Insert(Chr(c), Result, Random(Length(Result)) + 1)
end;
end;

function NT(Source: string): string;
var
i: integer;
begin
Result := Source;
i := 1;
while i < Length(Result) do
if Result in NPCS then
Delete(Result, i, 1)
else
Inc(i);
end;

procedure TForm1.btn1Click(Sender: TObject);
Var
a,s,g:string;
begin
s:=NO(edt1.Text);
ShowMessage(' "'+s+'"');
edt3.Text:=NT(s);
g:=edt3.Text;
end;

Тема на форуме - здесь добавлены рекомендции по улучшению реализации идеи автора.

Похожие статьи