Sample code for 30+ languages & platforms
DataFlex

2-Key Triple DES (112 bits)

See more Encryption Examples

Demonstrates 2-Key Triple DES encryption (112-bit 3DES encryption).

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoCrypt
    String sKeyHex
    String sEncStr
    String sDecStr

    // This example requires the Chilkat API to have been previously unlocked.
    // See Global Unlock Sample for sample code.

    Get Create (RefClass(cComChilkatCrypt2)) To hoCrypt
    If (Not(IsComObjectCreated(hoCrypt))) Begin
        Send CreateComObject of hoCrypt
    End

    // Specify 3DES for the encryption algorithm:
    Set ComCryptAlgorithm Of hoCrypt To "3des"

    Set ComCipherMode Of hoCrypt To "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).
    Set ComKeyLength Of hoCrypt To 128

    // Pad with zeros
    Set ComPaddingScheme Of hoCrypt To 3

    // EncodingMode specifies the encoding of the output for
    // encryption, and the input for decryption.
    // It may be "hex", "url", "base64", or "quoted-printable".
    Set ComEncodingMode Of hoCrypt To "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)
    Set ComHashAlgorithm Of hoCrypt To "md5"
    Get ComHashStringENC Of hoCrypt "secretPassword" To sKeyHex

    // Set the encryption key:
    Send ComSetEncodedKey To hoCrypt sKeyHex "hex"

    // Encrypt
    Get ComEncryptStringENC Of hoCrypt "The quick brown fox jumped over the lazy dog" To sEncStr
    Showln sEncStr

    // Now decrypt:
    Get ComDecryptStringENC Of hoCrypt sEncStr To sDecStr
    Showln sDecStr


End_Procedure