我并没有做成扩展而是将它分成了一个方法,毕竟很少的行数感觉没有必要做成扩展
首先,在桥接文件中添加#import <CommonCrypto/CommonCrypto.h>
作用就不做说明了
然后,
func MD5(data: NSData) -> String {
let digestLength = Int(CC_MD5_DIGEST_LENGTH)
let md5Buffer = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLength)
CC_MD5(data.bytes, CC_LONG(data.length), md5Buffer)
let output = NSMutableString(capacity: Int(CC_MD5_DIGEST_LENGTH * 2))
for i in 0..<digestLength {
output.appendFormat("%02x", md5Buffer[i])
}
return String(format: output as String)
}
使用的时候直接复制这段代码后,传入NSData返回一个MD5的字符串