Lua
Lua
Password_Digest = Base64 (SHA-1 ( nonce + created + SHA-1 (password) ) )
See more Encryption Examples
Demonstrates how to compute:Password_Digest = Base64 (SHA-1 ( nonce + created + SHA-1 (password)))
Chilkat Lua Downloads
local chilkat = require("chilkat")
-- This example requires the Chilkat API to have been previously unlocked.
-- See Global Unlock Sample for sample code.
local password = "secret"
local crypt = chilkat.Crypt2.new()
crypt.hash_algorithm = "SHA-1"
crypt.encoding_mode = "base64"
-- Generate a 16-byte random nonce
local prng = chilkat.Prng.new()
local bd = chilkat.BinData.new()
prng:gen_random_bd(16, bd)
-- Get the current date/time in a string with this format: 2010-06-08T07:26:50Z
local dt = chilkat.DateTime.new()
dt:set_from_current_system_time()
local created = dt:get_as_timestamp(false)
bd:append_string(created, "utf-8")
-- This example wishes to calculate a password digest like this:
-- Password_Digest = Base64 ( SHA-1 ( nonce + created + SHA-1(password) ) )
-- First SHA-1 digest the password...
local passwordSha1 = crypt:hash_string_enc(password)
-- Append the 20 binary bytes of the SHA1 hash to bd, which already contains the nonce and created date/time.
bd:append_encoded(passwordSha1, "base64")
local passwordDigest = crypt:hash_bd_enc(bd)
print("Base64 password digest = " .. passwordDigest)