Sample code for 30+ languages & platforms
DataFlex

Hash Algorithms: SHA-1, HAVAL, MD2, MD5, SHA-256, SHA-384, SHA-512

See more Encryption Examples

How to create hashes (message digests) for strings.

Chilkat DataFlex Downloads

DataFlex
Use ChilkatAx-win32.pkg

Procedure Test
    Handle hoCrypt
    String s
    String sHash

    // 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

    Move "The quick brown fox jumps over the lazy dog" To s

    Set ComHashAlgorithm Of hoCrypt To "sha1"
    Set ComEncodingMode Of hoCrypt To "hex"

    // Other possible EncodingMode settings are: 
    // "quoted-printable", "base64","url", and many more..

    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "SHA1: " sHash

    // Hash using MD2
    Set ComHashAlgorithm Of hoCrypt To "md2"
    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "MD2: " sHash

    // Hash using MD5
    Set ComHashAlgorithm Of hoCrypt To "md5"
    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "MD5: " sHash

    // Note: SHA-2 is a set of cryptographic hash functions (SHA-224, SHA-256, SHA-384, SHA-512)

    // Hash using SHA-256
    Set ComHashAlgorithm Of hoCrypt To "sha256"
    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "SHA256: " sHash

    // Hash using SHA-384
    Set ComHashAlgorithm Of hoCrypt To "sha384"
    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "SHA384: " sHash

    // Hash using SHA-512
    Set ComHashAlgorithm Of hoCrypt To "sha512"
    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "SHA512: " sHash

    // Hash using HAVAL
    // There are two additional properties relevant to HAVAL:
    // HavalRounds, and KeyLength.
    // HavalRounds can have values of 3, 4, or 5.
    // KeyLength can have values of 128, 160, 192, 224, or 256
    Set ComHashAlgorithm Of hoCrypt To "haval"
    Set ComHavalRounds Of hoCrypt To 5
    Set ComKeyLength Of hoCrypt To 256
    Get ComHashStringENC Of hoCrypt s To sHash
    Showln "Haval: " sHash

    // Hashes for "The quick brown fox jumps over the lazy dog"

    // SHA1:
    // 2FD4E1C67A2D28FCED849EE1BB76E7391B93EB12

    // MD2:
    // 03D85A0D629D2C442E987525319FC471

    // MD5:
    // 9E107D9D372BB6826BD81D3542A419D6

    // SHA256:
    // D7A8FBB307D7809469CA9ABCB0082E4F8D5651E46D3CDB762D02D0BF37C9E592

    // SHA384:
    // CA737F1014A48F4C0B6DD43CB177B0AFD9E5169367544C494011E3317DBF9A509CB1E5DC1E85A941BBEE3D7F2AFBC9B1

    // SHA512:
    // 07E547D9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB642E93A252A954F23912547D1E8A3B5ED6E1BFD7097821233FA0538F3DB854FEE6

    // Haval:
    // B89C551CDFE2E06DBD4CEA2BE1BC7D557416C58EBB4D07CBC94E49F710C55BE


End_Procedure