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
(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-2024 Chilkat Software, Inc. All Rights Reserved.