Go
Go
Hash Binary Data (SHA256 and other hash algorithms)
Demonstrates how to hash binary bytes using SHA256, SHA384, SHA512, MD2, MD5, HAVAL, RIPEMD, etc.Chilkat Go Downloads
success := false
// This example requires the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
// Let's load a binary file to get the bytes..
jpgData := chilkat.NewBinData()
success = jpgData.LoadFile("qa_data/jpg/starfish.jpg")
if success != true {
fmt.Println("Failed to load file.")
jpgData.DisposeBinData()
return
}
var jpgBytes []byte
jpgBytes = jpgData.GetBinary()
crypt := chilkat.NewCrypt2()
// Choose the hash algorithm.
// Can be "sha1", "sha256", "sha384", "sha512", "md2", "md5", "haval", "ripemd128", "ripemd160","ripemd256", or "ripemd320".
crypt.SetHashAlgorithm("sha256")
var hashBytes []byte
hashBytes = crypt.HashBytes(jpgBytes)
// Let's examine the hash as a hex string.
sb := chilkat.NewStringBuilder()
sb.AppendEncoded(hashBytes,"hex")
fmt.Println("SHA256 hash = ", *sb.GetAsString())
// We could alternatively hash the bytes and receive the hex result directly:
crypt.SetEncodingMode("hex")
hashHexStr := crypt.HashBytesENC(jpgBytes)
fmt.Println("SHA256 hash = ", *hashHexStr)
jpgData.DisposeBinData()
crypt.DisposeCrypt2()
sb.DisposeStringBuilder()