Delphi7写string里的数字加密 详细例子
时间: 2024-09-23 15:17:03 浏览: 92
Delphi 7 中可以使用各种加密算法来保护字符串中的数字,比如简单的替换加密、凯撒密码等。这里以凯撒密码(Caesar Cipher)为例,这是一种非常基础的加密技术,通过将字母向前或向后移动固定数量的位置来加密。
下面是一个简单的示例,展示如何使用 Delphi 7 对字符串中的数字进行凯撒密码加密:
```delphi
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
function CaesarEncrypt(PlainText: string; Key: Integer): string;
var
i: Integer;
begin
Result := '';
for i := 1 to Length(PlainText) do
begin
if IsDigit(Ord(PlainText[i])) then
Result := Result + Chr(CharAt('0' + (Ord(PlainText[i]) - '0' + Key) Mod 10) + '0');
else
Result := Result + PlainText[i];
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
// 原始数字字符串
var OriginalString := '1234567890';
// 设置加密偏移量
var Shift := 3;
// 加密数字字符串
var EncryptedString := CaesarEncrypt(OriginalString, Shift);
Memo1.Lines.Add('Original String: ' + OriginalString);
Memo1.Lines.Add('Encrypted String: ' + EncryptedString);
end;
end.
```
在这个例子中,我们创建了一个名为 `CaesarEncrypt` 的辅助函数,它接收一个字符串 `PlainText` 和一个整数 `Key` 作为参数。对于输入字符串中的每个字符,如果是数字字符,则将其转换为ASCII码,加上偏移量 `Key` 后取模10再转换回字符。非数字字符保持不变。
当点击按钮时,会调用这个函数并将结果显示在 Memo1 控件中。你可以根据需要调整 `Key` 的值来改变加密效果。
阅读全文