Programming Examples

ChilkatHOMEAndroid™ASPVisual BasicVB.NETC#iOS (IPhone)Objective-CC++CMFCDelphiFoxProJavaPerl
PHP ExtensionPHP ActiveXPythonPowerShellRubySQL ServerVBScript

C Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
DKIM / DomainKey
Diffie-Hellman
DSA
Email Object
Encryption
FileAccess
FTP
HTML Conversion
HTTP
IMAP
MHT / HTML Email
MIME
NTLM
POP3
RSA
SMTP
Socket
Spider
SSH Key
SSH
SSH Tunnel
SFTP
Tar
Upload
XML
Zip
Amazon S3

 

 

 

 

 

 

 

 

PBKDF2 - Derive Key from Password

Demonstrates 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

Downloads:

MS Windows Visual C/C++ Libraries
Linux/CentOS C/C++ Libraries
MAC OS X C/C++ Libraries
Solaris C/C++ Libraries
C++ Builder Libraries
#include <C_CkCrypt2.h>

void ChilkatSample(void)
    {
    HCkCrypt2 crypt;
    BOOL success;
    const char * hexKey;
    const char * pw;
    const char * pwCharset;
    const char * hashAlg;
    const char * saltHex;
    long iterationCount;
    long outputBitLen;
    const char * enc;

    crypt = CkCrypt2_Create();

    success = CkCrypt2_UnlockComponent(crypt,"Anything for 30-day trial");
    if (success != TRUE) {
        printf("%s\n",CkCrypt2_lastErrorText(crypt));
        return;
    }

    //  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 = CkCrypt2_pbkdf2(crypt,pw,pwCharset,hashAlg,saltHex,iterationCount,outputBitLen,enc);

    printf("%s\n",hexKey);

    //  The output should have this value:
    //  BFDE6BE94DF7E11DD409BCE20A0255EC327CB936FFE93643



    CkCrypt2_Dispose(crypt);

    }

Need a specific example? Send a request to support@chilkatsoft.com

© 2000-2010 Chilkat Software, Inc. All Rights Reserved.