Chilkat HOME .NET Core C# Android™ AutoIt C C# C++ Chilkat2-Python CkPython Classic ASP DataFlex Delphi ActiveX Delphi DLL Go Java Lianja Mono C# Node.js Objective-C PHP ActiveX PHP Extension Perl PowerBuilder PowerShell PureBasic Ruby SQL Server Swift 2 Swift 3,4,5... Tcl Unicode C Unicode C++ VB.NET VBScript Visual Basic 6.0 Visual FoxPro Xojo Plugin
(Delphi DLL) TOTP Authenticator: Duplicate Results of Online ToolsDuplicates the online tool for the Google 2FA Authenticator online tools at For more information, see https://rootprojects.org/authenticator/
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 crypt: HCkCrypt2; secretKey: PWideChar; begin // This example requires the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. // // Note: This example was written on 7-March-2020. If the online tools have since changed, the instructions provided here may no longer be valid. // crypt := CkCrypt2_Create(); // --------------------------------------------------------------------------------------------- // To duplicate the results of the Authenticator Test at https://rootprojects.org/authenticator/ // do the following: // 1) At the bottom of the screen you will see a URI such as: // // otpauth://totp/ACME%20Co:john@example.com?secret=HXDMVJECJJWSRB3HWIZR4IFUGFTMXBOZ&issuer=ACME%20Co&algorithm=SHA1&digits=6&period=30 // // Use the uppercase secret. For example: secretKey := 'HXDMVJECJJWSRB3HWIZR4IFUGFTMXBOZ'; // 2) DO NOT cick the "Regenerate" button. The regenerate button will generate a new secret. // // 3) Run the following code to generate your 6-digit token. Compare with the token shown in the picture of the iPhone at https://rootprojects.org/authenticator/ // Note: A new token is generated every 30 seconds. You must generate within the same 30 second interval to get the same result. Memo1.Lines.Add('Your token is: ' + CkCrypt2__totp(crypt,secretKey,'base32','0','',30,6,-1,'sha1')); // --------------------------------------------------------------------------------------------- // To duplicate the results of the Google2FA Playground at https://pragmarx.com/playground/google2fa#/ // do the following: // 1) Copy the 64-byte secret key: secretKey := 'OR2VQTRVHB2HO2LCGVWXQSCDK5ZHQS2D3THQ6UXO57XIE7ZHOWS6HDPQ622GU747'; // 2) Run the same code: // (Note: The online tool generates a new result every 30 seconds. You must generate and compare within the same 30-second interval.) Memo1.Lines.Add('Your token is: ' + CkCrypt2__totp(crypt,secretKey,'base32','0','',30,6,-1,'sha1')); CkCrypt2_Dispose(crypt); end; |
© 2000-2024 Chilkat Software, Inc. All Rights Reserved.