Pascal (Lazarus/Delphi)
Pascal (Lazarus/Delphi)
Match MySQL AES_ENCRYPT Function
See more Encryption Examples
Demonstrates how to use the MySqlAesEncrypt and MySqlAesDecrypt methods to match MySQL's AES_ENCRYPT and AES_DECRYPT functions.Here are MySQL AES_ENCRYPT test vectors:
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','password'))
Output:
CC5FDDF621AE2F48241BB80EDF2422949526FBAAA74885ACB020A74CAAB98BCFA1DD12E5D4C7922A2F9205D367921D9B
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','a'))
Output:
47A7E5FB591AD818BA3C9025D040514696BF50C2EFB0A453730E23E824F5F0357F3F673FCF0A7BD16465E82F937ED365
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','1234567890123456'))
Output:
D70F1A158553B721C5DB9220A627E7B17BFF78FF7A72C4AB565AC903A94DF76DB75A30583D4ED01E265147D5A9B04EC3
HEX(AES_ENCRYPT('The quick brown fox jumps over the lazy dog','abcdefghijklmnopqrstuvwxyz'))
Output:
425F259AD4C3DD0B37831C8F24507D7E1F056437C0D50D3C18FB6F600FC941A8D871E7DD7BCBEE4CA4698F074C135275
Chilkat Pascal (Lazarus/Delphi) Downloads
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;
clearText: string;
password: string;
hexEncryptedStr: string;
decryptedStr: string;
begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
crypt := TCrypt2.Create;
clearText := 'The quick brown fox jumps over the lazy dog';
password := 'password';
hexEncryptedStr := crypt.MySqlAesEncrypt(clearText,password);
WriteLn(hexEncryptedStr);
decryptedStr := crypt.MySqlAesDecrypt(hexEncryptedStr,password);
WriteLn(decryptedStr);
password := 'a';
hexEncryptedStr := crypt.MySqlAesEncrypt(clearText,password);
WriteLn(hexEncryptedStr);
decryptedStr := crypt.MySqlAesDecrypt(hexEncryptedStr,password);
WriteLn(decryptedStr);
password := '1234567890123456';
hexEncryptedStr := crypt.MySqlAesEncrypt(clearText,password);
WriteLn(hexEncryptedStr);
decryptedStr := crypt.MySqlAesDecrypt(hexEncryptedStr,password);
WriteLn(decryptedStr);
password := 'abcdefghijklmnopqrstuvwxyz';
hexEncryptedStr := crypt.MySqlAesEncrypt(clearText,password);
WriteLn(hexEncryptedStr);
decryptedStr := crypt.MySqlAesDecrypt(hexEncryptedStr,password);
WriteLn(decryptedStr);
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.