MFC Examples

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

MFC Examples

Bounced Mail
Bz2
Certificates/Keys
Charset
CSV
Diffie-Hellman
DKIM / DomainKey
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
FreeBSD C++ Libraries
HP-UX C++ Libraries
BlackBerry QNX C++ Libraries
// Needs #include <CkCrypt2.h>

    CkString strOut;

    CkCrypt2 crypt;

    bool success;
    success = crypt.UnlockComponent("Anything for 30-day trial");
    if (success != true) {
        strOut.append(crypt.lastErrorText());
        strOut.append("\r\n");
        SetDlgItemText(IDC_EDIT1,strOut.getUnicode());
        return;
    }

    const char * hexKey;
    //  http://www.di-mgt.com.au/cryptoKDFs.html#examplespbkdf

    const char * pw;
    pw = "password";
    const char * pwCharset;
    pwCharset = "ansi";
    //  Hash algorithms may be: sha1, md2, md5, etc.
    const char * hashAlg;
    hashAlg = "sha1";
    //  The salt should be 8 bytes:
    const char * saltHex;
    saltHex = "78578E5A5D63CB06";
    long iterationCount;
    iterationCount = 2048;
    //  Derive a 192-bit key from the password.
    long outputBitLen;
    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.)
    const char * enc;
    enc = "hex";

    hexKey = crypt.pbkdf2(pw,pwCharset,hashAlg,saltHex,iterationCount,outputBitLen,enc);

    strOut.append(hexKey);
    strOut.append("\r\n");

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



    SetDlgItemText(IDC_EDIT1,strOut.getUnicode());

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

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