delphi rsa代码
下面是一个使用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.
注意:该示例代码仅供参考,实际使用时需要根据具体需求进行调整和优化
原文地址: http://www.cveoy.top/t/topic/inL8 著作权归作者所有。请勿转载和采集!