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