![]() |
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
(Delphi ActiveX) PBKDF2 Key DerivationDemonstrates AES secret key derivation from a password using PBDKF2. For more information, see https://www.chilkatsoft.com/key_derivation_pbkdf2.asp
uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB; ... procedure TForm1.Button1Click(Sender: TObject); var crypt: TChilkatCrypt2; password: WideString; charset: WideString; hashAlg: WideString; saltHex: WideString; iterationCount: Integer; outputBitLen: Integer; enc: WideString; hexKey: WideString; begin // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. crypt := TChilkatCrypt2.Create(Self); password := 'correcthorsebatterystaple'; // Derive from the utf-8 byte representation of the password. charset := 'utf-8'; hashAlg := 'sha256'; crypt.EncodingMode := 'hex'; saltHex := crypt.GenRandomBytesENC(16); iterationCount := 310000; // Derive a 256-bit key from the password. 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.) enc := 'hex'; hexKey := crypt.Pbkdf2(password,charset,hashAlg,saltHex,iterationCount,outputBitLen,enc); Memo1.Lines.Add(hexKey); // Sample output: // 597734C894FF89CFD3B93D925462C24E97724BCB118F6FC919007F5ABC27E768 end; |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.