Sample code for 30+ languages & platforms
Lua

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 Lua Downloads

Lua
local chilkat = require("chilkat")

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

local crypt = chilkat.Crypt2.new()

local s = "The quick brown fox jumps over the lazy dog"

crypt.hash_algorithm = "sha1"
crypt.encoding_mode = "hex"

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

local hash = crypt:hash_string_enc(s)
print("SHA1: " .. hash)

-- Hash using MD2
crypt.hash_algorithm = "md2"
hash = crypt:hash_string_enc(s)
print("MD2: " .. hash)

-- Hash using MD5
crypt.hash_algorithm = "md5"
hash = crypt:hash_string_enc(s)
print("MD5: " .. hash)

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

-- Hash using SHA-256
crypt.hash_algorithm = "sha256"
hash = crypt:hash_string_enc(s)
print("SHA256: " .. hash)

-- Hash using SHA-384
crypt.hash_algorithm = "sha384"
hash = crypt:hash_string_enc(s)
print("SHA384: " .. hash)

-- Hash using SHA-512
crypt.hash_algorithm = "sha512"
hash = crypt:hash_string_enc(s)
print("SHA512: " .. hash)

-- 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
crypt.hash_algorithm = "haval"
crypt.haval_rounds = 5
crypt.key_length = 256
hash = crypt:hash_string_enc(s)
print("Haval: " .. hash)

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

-- SHA1:
-- 2FD4E1C67A2D28FCED849EE1BB76E7391B93EB12

-- MD2:
-- 03D85A0D629D2C442E987525319FC471

-- MD5:
-- 9E107D9D372BB6826BD81D3542A419D6

-- SHA256:
-- D7A8FBB307D7809469CA9ABCB0082E4F8D5651E46D3CDB762D02D0BF37C9E592

-- SHA384:
-- CA737F1014A48F4C0B6DD43CB177B0AFD9E5169367544C494011E3317DBF9A509CB1E5DC1E85A941BBEE3D7F2AFBC9B1

-- SHA512:
-- 07E547D9586F6A73F73FBAC0435ED76951218FB7D0C8D788A309D785436BBB642E93A252A954F23912547D1E8A3B5ED6E1BFD7097821233FA0538F3DB854FEE6

-- Haval:
-- B89C551CDFE2E06DBD4CEA2BE1BC7D557416C58EBB4D07CBC94E49F710C55BE4