Chilkat
HOME
Android™
ASP
Visual Basic
VB.NET
C#
iOS (IPhone)
Objective-C
C++
C
MFC
Delphi
FoxPro
Java
Perl
PHP Extension
PHP ActiveX
Python
PowerShell
Ruby
SQL Server
VBScript
PBKDF2 - Derive Key from PasswordDemonstrates how to derive a symmetric encryption key from a password using PBKDF2. This example matches the results found at this URL: http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, CHILKATCRYPT2Lib_TLB, OleCtrls; ... procedure TForm1.Button1Click(Sender: TObject); var crypt: TChilkatCrypt2; success: Integer; hexKey: String; pw: String; pwCharset: String; hashAlg: String; saltHex: String; iterationCount: Integer; outputBitLen: Integer; enc: String; begin crypt := TChilkatCrypt2.Create(Self); success := crypt.UnlockComponent('Anything for 30-day trial'); if (success <> 1) then begin ShowMessage(crypt.LastErrorText); Exit; end; // http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf pw := 'password'; pwCharset := 'ansi'; // Hash algorithms may be: sha1, md2, md5, etc. hashAlg := 'sha1'; // The salt should be 8 bytes: saltHex := '78578E5A5D63CB06'; iterationCount := 2048; // Derive a 192-bit key from the password. outputBitLen := 192; // 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(pw,pwCharset,hashAlg,saltHex,iterationCount,outputBitLen,enc); Memo1.Lines.Add(hexKey); // The output should have this value: // BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE93643 end; |
© 2000-2010 Chilkat Software, Inc. All Rights Reserved.