Sample code for 30+ languages & platforms
Lazarus Pascal

Obfuscate String

Demonstrates how to obfuscate and unobfuscate a string.

Chilkat Lazarus Pascal Downloads

Lazarus Pascal
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.StringBuilder;

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

procedure RunDemo;
var
  success: Boolean;
  sb: TStringBuilder;
  s: string;
  sb2: TStringBuilder;
  s2: string;

begin
  success := False;

  sb := TStringBuilder.Create;

  s := 'Hello World!';

  sb.Append(s);
  WriteLn(sb.GetAsString());

  //  Output is "Hello World!";

  //  Obfuscate the string.
  //  This is NOT encryption.  It's just a simple obfuscation.
  sb.Obfuscate();
  WriteLn(sb.GetAsString());

  //  Output is 2GsgGhbSQVyG8Vb9

  //  -------------------------
  //  Unobfuscate.
  sb2 := TStringBuilder.Create;
  s2 := '2GsgGhbSQVyG8Vb9';
  sb2.Append(s2);
  sb2.Unobfuscate();

  WriteLn(sb2.GetAsString());

  //  Output is "Hello World!";


  sb.Free;
  sb2.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.