Sample code for 30+ languages & platforms
Pascal (Lazarus/Delphi)

Simple AES ECB Decryption

See more Encryption Examples

Decrypt 256-bit encrypted content.

Chilkat Pascal (Lazarus/Delphi) Downloads

Pascal (Lazarus/Delphi)
program ChilkatDemo;

// Demonstrates using the Chilkat Pascal wrapper via the C bridge DLL.
// Builds as a console application under Lazarus (FPC) or Delphi.

{$IFDEF FPC}
  {$MODE DELPHI}
{$ENDIF}
{$APPTYPE CONSOLE}

uses
  {$IFDEF UNIX}
  cthreads,
  {$ENDIF}
  SysUtils,
  CkDllLoader,
  Chilkat.Crypt2;

// ---------------------------------------------------------------------------

procedure RunDemo;
var
  crypt: TCrypt2;
  ct: string;
  key: string;
  pt: string;

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

  crypt := TCrypt2.Create;

  //  Encrypted content (base64-encoded)
  ct := 'd/95VziAnUNKkpXr3dJBFcQqAEDWlDkc7EU2jLkYPxmr6PpLRJlgHos+/Uy28CvJsmztQ3JkJAMukVoj46QJ/7RMuqLb31cSKd1ZvMzx9J9b6q0EkmPJcSfBhf2x7v5Qvq3lz1EIH7RM61cDGf+g9p4lt6FtU2MzCqtYD+Vr29voCn5WU1CnXmks64RrbyDA1DDHOx2deJ4Kn68+KoPM9tAw9kbf4HApL1nJYU3Mfzl+MnuHuB2kJpL5GqbuNvS+4QjxuwtNGuZEEY0gOS4RIvWl/XfkxtWHMkzsKy08AO792xDGer4rL4Q1NcfI/H2V';

  //  256-bit AES key (literally the 32 us-ascii bytes of this string)
  key := 'sQsPQYesBM5qEM5OSxicFatIiLM459Bu';

  //  Note: If your AES key is a string, and it's not clearly hex or base64, AND if the length of the string is the exact size of the AES key,
  //  then *literally* use the ascii chars as the AES key.

  crypt.CryptAlgorithm := 'aes';
  crypt.CipherMode := 'ecb';
  crypt.KeyLength := 256;
  //  use the exact ascii bytes as the key.
  crypt.SetEncodedKey(key,'ascii');
  crypt.EncodingMode := 'base64';

  pt := crypt.DecryptStringENC(ct);

  WriteLn(pt);


  crypt.Free;

end;

// ---------------------------------------------------------------------------

begin

  try
    RunDemo;
  except
    on E: Exception do
      WriteLn('Unhandled exception: ', E.ClassName, ': ', E.Message);
  end;

  WriteLn;
  {$IFDEF MSWINDOWS}
  WriteLn('Press Enter to exit...');
  ReadLn;
  {$ENDIF}
end.