This is a little program I tried to convert from VB to Delphi. I have error in line DecryptStr := DecryptStr + Chr(Ord(sPom[1]) - EncCode);
unit fileEncriptDecript;
interface
uses
Messages, SysUtils, Variants, Classes,
ExtCtrls, ComCtrls,StrUtils;
implementation
Function Add128(strul : String) : String;
var
strIz :String;
i : Integer;
sPom : String;
sPomi : Integer;
begin
strIz :='';
For i:=1 to Length(strul) do
begin
sPom := MidBStr(strul,i,1);
sPomi := StrToInt(sPOm);
strIz := strIz + Chr(Ord(sPomi + 128));
end;
Add128 := strIz
end;
Function CreateEncryptCode(Key : String) : Integer;
var
Total1,Total2 : Integer;
NbChars1, NbChars2 : Integer;
Counter : Integer;
sPom : String;
begin
Total1 := 0;
Total2 := 0;
NbChars1 := 0;
NbChars2 := 0;
For Counter := 1 to Length (Key) do
case (Counter mod 2) of
0 : begin
sPom := MidStr(Key, Counter, 1);
Total1 := Total1 + Ord(sPom[1]);
NbChars1 := NbChars1 + 1
end
else
begin
sPom := MidBStr(Key, Counter, 1);
Total2 := Total2 + Ord(sPom[1]);
NbChars2 := NbChars2 + 1
end
end;
If (NbChars1>0) AND (NbChars2>0) Then
CreateEncryptCode := Abs((Total1 div NbChars1)-(Total2 div NbChars2))
else
CreateEncryptCode := 1
end;
Function DecryptStr(EncStr : String; Key : String) : String;
var
Counter : Integer;
EncCode : Integer;
sPom : String;
begin
EncCode := CreateEncryptCode(Key);
DecryptStr := '';
EncStr := Add128(EncStr);
For Counter := 1 To Length (EncStr) do
case (Counter mod 2) of
0 : begin
sPom := MidBStr(EncStr, Counter, 1);
DecryptStr := DecryptStr + Chr(Ord(sPom[1]) - EncCode);
end
else
begin
sPom := MidBStr(EncStr, Counter, 1);
DecryptStr := DecryptStr + Chr(Ord(sPom[1]) + EncCode);
end
end;
end;
end.