Sample code for 30+ languages & platforms
Delphi ActiveX

Encrypt / Decrypt Secure Strings

See more Encryption Examples

Demonstrates how to use the EncryptSecureENC and DecryptSecureENC methods to encrypt/decrypt secure strings. These methods were added in Chilkat v9.5.0.71 (released January 2018).

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
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;
secStr1: TChilkatSecureString;
crypt: TChilkatCrypt2;
encryptedStr: WideString;
secStr2: TChilkatSecureString;

begin
success := 0;

// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

// Load the secure string with some text.
secStr1 := TChilkatSecureString.Create(Self);
success := secStr1.LoadFile('qa_data/txt/helloWorld.txt','utf-8');
if (success <> 1) then
  begin
    Memo1.Lines.Add('Failed to load helloWorld.txt');
    Exit;
  end;

crypt := TChilkatCrypt2.Create(Self);

crypt.CryptAlgorithm := 'aes';
crypt.CipherMode := 'cbc';
crypt.KeyLength := 128;
crypt.SetEncodedKey('000102030405060708090A0B0C0D0E0F','hex');
crypt.SetEncodedIV('000102030405060708090A0B0C0D0E0F','hex');
crypt.EncodingMode := 'base64';

// Return the base64 encoded encrypted contents of secStr1.
encryptedStr := crypt.EncryptSecureENC(secStr1.ControlInterface);
Memo1.Lines.Add('Encrypted string: ' + encryptedStr);

// Output:
// Encrypted string: qiq+IFhcjTkEIkZyf31V/g==

// Decrypt to secStr2:
secStr2 := TChilkatSecureString.Create(Self);
crypt.DecryptSecureENC(encryptedStr,secStr2.ControlInterface);

// Access the contents of secStr2
Memo1.Lines.Add('Decrypted string: ' + secStr2.Access());

// Output:
// Decrypted string: Hello World!
end;