美文网首页
Swift: MD5加密

Swift: MD5加密

作者: 一欧Yiou | 来源:发表于2018-05-25 14:49 被阅读115次

    导入头文件

        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()
    

    相关文章

      网友评论

          本文标题:Swift: MD5加密

          本文链接:https://www.haomeiwen.com/subject/jotujftx.html