![]() |
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
(Unicode C) 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
#include <C_CkCrypt2W.h> void ChilkatSample(void) { HCkCrypt2W crypt; const wchar_t *hexKey; const wchar_t *pw; const wchar_t *pwCharset; const wchar_t *hashAlg; const wchar_t *saltHex; int iterationCount; int outputBitLen; const wchar_t *enc; // This example assumes the Chilkat API to have been previously unlocked. // See Global Unlock Sample for sample code. crypt = CkCrypt2W_Create(); // http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf pw = L"password"; pwCharset = L"ansi"; // Hash algorithms may be: sha1, md2, md5, etc. hashAlg = L"sha1"; // The salt should be 8 bytes: saltHex = L"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 = L"hex"; hexKey = CkCrypt2W_pbkdf2(crypt,pw,pwCharset,hashAlg,saltHex,iterationCount,outputBitLen,enc); wprintf(L"%s\n",hexKey); // The output should have this value: // BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE9364 CkCrypt2W_Dispose(crypt); } |
© 2000-2025 Chilkat Software, Inc. All Rights Reserved.