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中的设置

位置.png

$(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()
上一篇下一篇

猜你喜欢

热点阅读