SHA1 digest in Swift
import Foundation
func sha1(data: NSData) -> String {
let length = Int(CC_SHA1_DIGEST_LENGTH)
var digest = [UInt8](count: length, repeatedValue: 0)
CC_SHA1(data.bytes, CC_LONG(data.length), &digest)
return digest.map { String(format: "%02x", $0) }.reduce("", +)
}
func sha1(string: String) -> String? {
return string.dataUsingEncoding(NSUTF8StringEncoding).map(sha1)
}