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