Swift: MD5加密
2018-05-25 本文已影响115人
一欧Yiou
导入头文件
1.新建任意一个类,语言选取objective-C
2.输入任意类名,next得到一条提示,询问我们是否需要建立一个bridging-header文件,我们选择是,此时就生成一个swift-objective-c的桥接文件
3.移除刚才新建的oc类文件.m .h
4.接下来就可以在bridging-header中导入我们想要的各种文件
然后在桥接文件中引入头文件#import <CommonCrypto/CommonDigest.h>
#ifndef Bridging_Header_h
#define Bridging_Header_h
#import <CommonCrypto/CommonCrypto.h>
#endif /* Bridging_Header_h */
这是需要注意的是Build Settings
中的设置
$(SRCROOT)不做多解释, 路径是你桥接文件在项目中的位置
接下来为String
添加一个拓展
extension String {
func MD5() -> String {
let str = self.cString(using: String.Encoding.utf8)
let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8))
let digestLen = Int(CC_MD5_DIGEST_LENGTH)
let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)
CC_MD5(str!, strLen, result)
let hash = NSMutableString()
for i in 0 ..< digestLen {
hash.appendFormat("%02x", result[i])
}
result.deinitialize()
return String(format: hash as String)
}
}
调用方法
"1111".MD5()