Go
Go
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 Go Downloads
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
password := "secret"
crypt := chilkat.NewCrypt2()
crypt.SetHashAlgorithm("SHA-1")
crypt.SetEncodingMode("base64")
// Generate a 16-byte random nonce
prng := chilkat.NewPrng()
bd := chilkat.NewBinData()
prng.GenRandomBd(16,bd)
// Get the current date/time in a string with this format: 2010-06-08T07:26:50Z
dt := chilkat.NewCkDateTime()
dt.SetFromCurrentSystemTime()
created := dt.GetAsTimestamp(false)
bd.AppendString(*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...
passwordSha1 := crypt.HashStringENC(password)
// Append the 20 binary bytes of the SHA1 hash to bd, which already contains the nonce and created date/time.
bd.AppendEncoded(*passwordSha1,"base64")
passwordDigest := crypt.HashBdENC(bd)
fmt.Println("Base64 password digest = ", *passwordDigest)
crypt.DisposeCrypt2()
prng.DisposePrng()
bd.DisposeBinData()
dt.DisposeCkDateTime()