Hauptmenü

Werkzeuge

Kategorien

Archiv

MD5 Checksumme mit Apple Swift berechnen

Erstellt in Apple Swift am 24. November 2014 vom Daschmi

Leider fehlt der Programmiersprache Swift von Apple eine implementation des MD5 Hash Algorithmuses. Dieser kann aber leicht durch eine Erweiterung des String Datentypes nachgerüstet werden:

extension String  {
    var md5: String! {
        let str = self.cStringUsingEncoding(NSUTF8StringEncoding)
        let strLen = CC_LONG(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
        let digestLen = Int(CC_MD5_DIGEST_LENGTH)
        let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen)

        CC_MD5(str!, strLen, result)

        var hash = NSMutableString()
        for i in 0..<digestLen {
            hash.appendFormat("%02x", result[i])
        }

        result.destroy()

        return String(format: hash)
    }
}

Angewendet wird das ganze dann einfach wie folgt:

var strHASH : NSString = strToHash.md5