Delphi ActiveX
Delphi ActiveX
RSA OAEP Padding
See more RSA Examples
Demonstrates how to use OAEP padding with the RSA encryption algorithm. More information about OAEP Padding.Chilkat Delphi ActiveX Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Integer;
rsa: TChilkatRsa;
pubKeyXml: WideString;
pubKey: TPublicKey;
plainText: WideString;
usePrivateKey: Integer;
encryptedStr: WideString;
begin
success := 0;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
rsa := TChilkatRsa.Create(Self);
// RSA public key in XML format:
pubKeyXml := '<RSAPublicKey><Modulus>of3im3mRgd2NLXIGoK6uYLg6jj0Ug2b42rnqa5Tbwz2ieFqMJqt+++x2oqLYGurlz49nt+7/785g3XYWqoka4u9c9zul6YubIjnBM72dQy7rEkEfbUxgjcxqXyjZFx+FpaxFUecLu688XEu+9UA42VKiCgcl+E7TrqnfeeYpNXc=</Modulus><Exponent>AQAB</Exponent></RSAPublicKey>';
pubKey := TPublicKey.Create(Self);
success := pubKey.LoadFromString(pubKeyXml);
if (success = 0) then
begin
Memo1.Lines.Add(pubKey.LastErrorText);
Exit;
end;
success := rsa.UsePublicKey(pubKey.ControlInterface);
if (success = 0) then
begin
Memo1.Lines.Add(rsa.LastErrorText);
Exit;
end;
// To use Optimal Asymmetric Encryption Padding (OAEP) padding,
// simply set the PkcsPadding property to 0
rsa.PkcsPadding := 0;
// Encrypt a string and return the encrypted data base64-encoded:
rsa.EncodingMode := 'base64';
plainText := 'RSA Encryption should be easy.';
usePrivateKey := 0;
encryptedStr := rsa.EncryptStringENC(plainText,usePrivateKey);
Memo1.Lines.Add(encryptedStr);
end;