swift 中,扩展String,但是需要建立一个OC桥接文件,并在桥接文件中导入
#import<CommonCrypto/CommonCrypto.h>
下面是String的扩展
extension String{
//计算字符串 md5
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);
let hash = NSMutableString();
for i in 0 ..< digestLen {
hash.appendFormat("%02x", result[i]);
}
result.destroy();
return String(format: hash as String)
}
}