Swift
Swift
Hash Binary Data (SHA256 and other hash algorithms)
Demonstrates how to hash binary bytes using SHA256, SHA384, SHA512, MD2, MD5, HAVAL, RIPEMD, etc.Chilkat Swift Downloads
func chilkatTest() {
var success: Bool = 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..
let jpgData = CkoBinData()!
success = jpgData.loadFile(path: "qa_data/jpg/starfish.jpg")
if success != true {
print("Failed to load file.")
return
}
var jpgBytes: NSData
jpgBytes = jpgData.getBinary()
let crypt = CkoCrypt2()!
// Choose the hash algorithm.
// Can be "sha1", "sha256", "sha384", "sha512", "md2", "md5", "haval", "ripemd128", "ripemd160","ripemd256", or "ripemd320".
crypt.hashAlgorithm = "sha256"
var hashBytes: NSData
hashBytes = crypt.hashBytes(bData: jpgBytes)
// Let's examine the hash as a hex string.
let sb = CkoStringBuilder()!
sb.appendEncoded(binaryData: hashBytes, encoding: "hex")
print("SHA256 hash = \(sb.getAsString()!)")
// We could alternatively hash the bytes and receive the hex result directly:
crypt.encodingMode = "hex"
var hashHexStr: String? = crypt.hashBytesENC(bData: jpgBytes)
print("SHA256 hash = \(hashHexStr!)")
}