![]() |
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) PBKDF2 Key DerivationDemonstrates AES secret key derivation from a password using PBDKF2. For more information, see https://www.chilkatsoft.com/key_derivation_pbkdf2.asp
-- Important: See this note about string length limitations for strings returned by sp_OAMethod calls. -- CREATE PROCEDURE ChilkatSample AS BEGIN DECLARE @hr int -- This example assumes the Chilkat API to have been previously unlocked. -- See Global Unlock Sample for sample code. DECLARE @crypt int EXEC @hr = sp_OACreate 'Chilkat.Crypt2', @crypt OUT IF @hr <> 0 BEGIN PRINT 'Failed to create ActiveX component' RETURN END DECLARE @password nvarchar(4000) SELECT @password = 'correcthorsebatterystaple' -- Derive from the utf-8 byte representation of the password. DECLARE @charset nvarchar(4000) SELECT @charset = 'utf-8' DECLARE @hashAlg nvarchar(4000) SELECT @hashAlg = 'sha256' EXEC sp_OASetProperty @crypt, 'EncodingMode', 'hex' DECLARE @saltHex nvarchar(4000) EXEC sp_OAMethod @crypt, 'GenRandomBytesENC', @saltHex OUT, 16 DECLARE @iterationCount int SELECT @iterationCount = 310000 -- Derive a 256-bit key from the password. DECLARE @outputBitLen int SELECT @outputBitLen = 256 -- The derived key is returned as a hex or base64 encoded string. -- (Note: The salt argument must be a string that also uses -- the same encoding.) DECLARE @enc nvarchar(4000) SELECT @enc = 'hex' DECLARE @hexKey nvarchar(4000) EXEC sp_OAMethod @crypt, 'Pbkdf2', @hexKey OUT, @password, @charset, @hashAlg, @saltHex, @iterationCount, @outputBitLen, @enc PRINT @hexKey -- Sample output: -- 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768 EXEC @hr = sp_OADestroy @crypt END GO |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.