Chilkat HOME ASP Visual Basic VB.NET C# Visual C++ C MFC Delphi FoxPro Java Perl PHP Python Ruby SQL Server VBScript
2-Key Triple DESDemonstrates 2-Key Triple DES encryption (112-bit 3DES encryption).
// Needs #include <CkCrypt2.h> CkString strOut; CkCrypt2 crypt; bool success; success = crypt.UnlockComponent("Anything for 30-day trial."); if (success != true) { strOut.append("Crypt component unlock failed\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); return; } // Specify 3DES for the encryption algorithm: crypt.put_CryptAlgorithm("3des"); crypt.put_CipherMode("ecb"); // For 2-Key Triple-DES, use a key length of 128 // (Given that each byte's msb is a parity bit, the strength is really 112 bits). crypt.put_KeyLength(128); // Pad with zeros crypt.put_PaddingScheme(3); // EncodingMode specifies the encoding of the output for // encryption, and the input for decryption. // It may be "hex", "url", "base64", or "quoted-printable". crypt.put_EncodingMode("hex"); // Let's create a secret key by using the MD5 hash of a password. // The Digest-MD5 algorithm produces a 16-byte hash (i.e. 128 bits) crypt.put_HashAlgorithm("md5"); const char * keyHex; keyHex = crypt.hashStringENC("secretPassword"); // Set the encryption key: crypt.SetEncodedKey(keyHex,"hex"); // Encrypt const char * encStr; encStr = crypt.encryptStringENC("The quick brown fox jumped over the lazy dog"); strOut.append(encStr); strOut.append("\r\n"); // Now decrypt: const char * decStr; decStr = crypt.decryptStringENC(encStr); strOut.append(decStr); strOut.append("\r\n"); SetDlgItemText(IDC_EDIT1,strOut.getUnicode()); |
Need a specific example? Send a request to support@chilkatsoft.com
© 2000-2008 Chilkat Software, Inc. All Rights Reserved.