Советы по Delphi


Кодирование/декодирование строки


Как закодировать строку?

Вот программа, демонстрирующая методы кодирования и раскодирования строк. Примечание: Мы не отвечаем за уникальность и секретность алгоритма данной фунции.

    { Начало кода }

program Crypt;

uses WinCRT;



const
C1 = 52845; C2 = 22719;
function Encrypt(const S: String; Key: Word): String;
var
I: byte; begin
Result[0] := S[0]; for I := 1 to Length(S) do begin Result[I] := char(byte(S[I]) xor (Key shr 8)); Key := (byte(Result[I]) + Key) * C1 + C2; end; end;

function Decrypt(const S: String; Key: Word): String;
var
I: byte; begin
Result[0] := S[0]; for I := 1 to Length(S) do begin Result[I] := char(byte(S[I]) xor (Key shr 8)); Key := (byte(S[I]) + Key) * C1 + C2; end; end;

var
S: string; begin
Write('>'); ReadLn(S); S := Encrypt(S,12345); WriteLn(S); S := Decrypt(S,12345); WriteLn(S); end.

[000675]



Содержание раздела