一种简单的字符串加密和解密算法

本文介绍了一个使用简单异或操作实现的字符串加密与解密程序。该程序通过Delphi编写,利用一个预定义的XorKey数组进行加密过程,并能够通过相同的密钥轻松地还原原始字符串。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

const
  XorKey:
array[0..7of Byte=($B2,$09,$AA,$55,$93,$6D,$84,$47);
type
  TForm1 
= class(TForm)
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    
procedure Button1Click(Sender: TObject);
    
procedure Button2Click(Sender: TObject);
  
private
    
{ Private declarations }
  
public
    
{ Public declarations }
    
function Encrypt(Str: string): string;
    
function Decrypt(Str: string): string;
  
end;

var
  Form1: TForm1;

implementation

{$R *.dfm}



function TForm1.Encrypt(Str: string): string;//加密算法
var
  i,j:Integer;
begin
  Result :
= '';
  j :
= 0;
  
for i := 1 to Length(Str) do
  
begin
    Result :
= Result + IntToHex(Byte(Str[i]) xor XorKey[j],2);
    j :
= (j + 1mod 8;
  
end;
end;

function TForm1.Decrypt(Str: string): string;//解密算法
var
  i,j:Integer;
begin
  Result :
= '';
  j :
= 0;
  
for i := 1 to Length(Str) div 2 do
  
begin
    Result :
= Result + Char(StrToInt('$'+Copy(Str,i*2-1,2)) xor XorKey[j]);
    j :
= (j + 1mod 8;
  
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit2.Text :
=Encrypt(Edit1.Text);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Edit1.Text :
= Decrypt(Edit2.Text);
end;

end.

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值