![]()  | 
  
Chilkat  HOME  Android™  AutoIt  C  C#  C++  Chilkat2-Python  CkPython  Classic ASP  DataFlex  Delphi DLL  Go  Java  Node.js  Objective-C  PHP Extension  Perl  PowerBuilder  PowerShell  PureBasic  Ruby  SQL Server  Swift  Tcl  Unicode C  Unicode C++  VB.NET  VBScript  Visual Basic 6.0  Visual FoxPro  Xojo Plugin
 
      (SQL Server) 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/ 
 -- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- Important: Do not use nvarchar(max). See the warning about using nvarchar(max). DECLARE @sTmp0 nvarchar(4000) -- 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. -- DECLARE @crypt int -- Use "Chilkat_9_5_0.Crypt2" for versions of Chilkat < 10.0.0 EXEC @hr = sp_OACreate 'Chilkat.Crypt2', @crypt OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END -- --------------------------------------------------------------------------------------------- -- 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: DECLARE @secretKey nvarchar(4000) SELECT @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. EXEC sp_OAMethod @crypt, 'Totp', @sTmp0 OUT, @secretKey, 'base32', '0', '', 30, 6, -1, 'sha1' PRINT 'Your token is: ' + @sTmp0 -- --------------------------------------------------------------------------------------------- -- To duplicate the results of the Google2FA Playground at https://pragmarx.com/playground/google2fa#/ -- do the following: -- 1) Copy the 64-byte secret key: SELECT @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.) EXEC sp_OAMethod @crypt, 'Totp', @sTmp0 OUT, @secretKey, 'base32', '0', '', 30, 6, -1, 'sha1' PRINT 'Your token is: ' + @sTmp0 EXEC @hr = sp_OADestroy @crypt END GO  | 
  ||||
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.