gpt4 book ai didi

Delphi:简单的字符串加密

转载 作者:行者123 更新时间:2023-12-03 14:44:40 25 4
gpt4 key购买 nike

我有一个字符串 - 主板的序列号(只有数字和字母)。如何加密/解密并获得正常 View :仅从 A 到 Z 的字母和从 0 到 9 的数字。用户必须向我发送字符串,我必须回复。

我可以加密,但字符不可读。

谢谢!

最佳答案

支持 Unicode 的简单 Enc/Dec,Enc 输出仅是十六进制字符:

const CKEY1 = 53761;
CKEY2 = 32618;

function EncryptStr(const S :WideString; Key: Word): String;
var i :Integer;
RStr :RawByteString;
RStrB :TBytes Absolute RStr;
begin
Result:= '';
RStr:= UTF8Encode(S);
for i := 0 to Length(RStr)-1 do begin
RStrB[i] := RStrB[i] xor (Key shr 8);
Key := (RStrB[i] + Key) * CKEY1 + CKEY2;
end;
for i := 0 to Length(RStr)-1 do begin
Result:= Result + IntToHex(RStrB[i], 2);
end;
end;

function DecryptStr(const S: String; Key: Word): String;
var i, tmpKey :Integer;
RStr :RawByteString;
RStrB :TBytes Absolute RStr;
tmpStr :string;
begin
tmpStr:= UpperCase(S);
SetLength(RStr, Length(tmpStr) div 2);
i:= 1;
try
while (i < Length(tmpStr)) do begin
RStrB[i div 2]:= StrToInt('$' + tmpStr[i] + tmpStr[i+1]);
Inc(i, 2);
end;
except
Result:= '';
Exit;
end;
for i := 0 to Length(RStr)-1 do begin
tmpKey:= RStrB[i];
RStrB[i] := RStrB[i] xor (Key shr 8);
Key := (tmpKey + Key) * CKEY1 + CKEY2;
end;
Result:= UTF8Decode(RStr);
end;

示例:

procedure TForm1.btn1Click(Sender: TObject);
begin
txt2.Text:= EncryptStr(txt1.Text, 223);
lbl1.Caption:= DecryptStr(txt2.Text, 223);
end;

关于Delphi:简单的字符串加密,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6798188/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com