u_crypt.pas
来自「主要是对人员信息和工资进行管理」· PAS 代码 · 共 51 行
PAS
51 行
unit U_crypt;
interface
uses classes;
const
C1=52845;
C2=22719;
function Encrypt(s:string;key:word):string;
function Decrypt(s:string;key:word):string;
implementation
function encrypt(s:string;key:word):string;
var
i:integer;
j:integer;
begin
result:=s;
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;
s:=result;
result:='';
for i:=1 to length(s) do
begin
j:=integer(s[i]);
result:=result+char(65+(j div 26))+char(65+(j mod 26));
end;
end;
function decrypt(s:string;key:word):string;
var
i:integer;
j:integer;
begin
result:='';
for i:=1 to (length(s) div 2) do
begin
j:=(integer(s[2*i-1])-65)*26;
j:=j+(integer(s[2*i])-65);
result:=result+char(j);
end;
s:=result;
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;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?