下面是一个使用Delphi实现RSA算法的示例代码:

unit RSA;

interface

uses
  SysUtils, Math;

function EncryptRSA(input: string; e, n: Integer): string;
function DecryptRSA(input: string; d, n: Integer): string;

implementation

function ModPow(base, exponent, modulus: Integer): Integer;
var
  result: Integer;
begin
  result := 1;
  while exponent > 0 do
  begin
    if exponent mod 2 = 1 then
      result := (result * base) mod modulus;
    base := (base * base) mod modulus;
    exponent := exponent div 2;
  end;
  Result := result;
end;

function EncryptRSA(input: string; e, n: Integer): string;
var
  i: Integer;
  encrypted: string;
begin
  encrypted := '';
  for i := 1 to Length(input) do
  begin
    encrypted := encrypted + Chr(ModPow(Ord(input[i]), e, n));
  end;
  Result := encrypted;
end;

function DecryptRSA(input: string; d, n: Integer): string;
var
  i: Integer;
  decrypted: string;
begin
  decrypted := '';
  for i := 1 to Length(input) do
  begin
    decrypted := decrypted + Chr(ModPow(Ord(input[i]), d, n));
  end;
  Result := decrypted;
end;

end.

使用示例:

var
  e, n, d: Integer;
  input, encrypted, decrypted: string;
begin
  // 设置RSA公钥和私钥
  e := 65537; // 公钥指数
  n := 16961; // 公钥模数
  d := 3649;  // 私钥指数

  // 加密
  input := 'Hello World';
  encrypted := EncryptRSA(input, e, n);
  Writeln('Encrypted: ', encrypted);

  // 解密
  decrypted := DecryptRSA(encrypted, d, n);
  Writeln('Decrypted: ', decrypted);
end.

注意:该示例代码仅供参考,实际使用时需要根据具体需求进行调整和优化

delphi rsa代码

原文地址: http://www.cveoy.top/t/topic/inL8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录