Sample code for 30+ languages & platforms
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

Swift

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!)")

}