Sample code for 30+ languages & platforms
Delphi DLL

Google Authenticator Algorithm

See more Encryption Examples

Example code implementing the Google Authenticator algorithm.

Chilkat Delphi DLL Downloads

Delphi DLL
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Crypt2;

...

procedure TForm1.Button1Click(Sender: TObject);
var
secretBase32: PWideChar;
crypt: HCkCrypt2;
otp: PWideChar;

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

// Generating TOTP Base32 Secret: 
// When you enable 2FA with a TOTP-based authenticator app, Google will provide you with a QR code
// that you can scan using the app. This QR code contains a TOTP base32 secret.
// You can also choose to view and copy the secret manually.

secretBase32 := 'JBSWY3DPEHPK3PXP';

// Do the following to calculate the 6-digit decimal Google authenticator token for a base32 secret,
// given the current system date/time.
crypt := CkCrypt2_Create();
otp := CkCrypt2__totp(crypt,secretBase32,'base32','0','',30,6,-1,'sha1');

Memo1.Lines.Add('6-digit decimal token = ' + otp);

CkCrypt2_Dispose(crypt);

end;