IOS開發問題錄:如何在Swift中引入Head文件?


最近在學習IOS開發,從一個簡單的登錄開始,逐步解決了一個網絡訪問、獲取控件值等問題,遇到了信息加密的問題。

做為IOS的入門者,信息加密需要解決如下幾個問題:

1、IOS的MD5加密有沒有固定函數,怎么使用這個函數。。

經過查資料,在Object-C中有內置的函數

2、如何引入Object-C的函數

首先添加頭文件,在xode 7 項目上右鍵 -new File-》IOS-》Source-》HeadFile->下一步設置命名,可以任意命名,在head.h中加入如下代碼:

#import <CommonCrypto/CommonDigest.h>

3、如何把Head文件引入項目中

在code7,項目根目錄路點擊,選擇“build settings“,選擇”all",搜素swift 就會找到 “Swift Compiler – Code Generation”,在 “Objective-C Bridging Header” 內輸入“ProjectName/ProjectName-Bridging-Header.h” 也就是剛才添加的head文件。

完成Head引入后,開始擴展md5函數,在任意swift加入如下代碼:

// StringMD5.swift
extension String {
     var MD5: String {
        let cString = self.cStringUsingEncoding(NSUTF8StringEncoding)
        let length = CUnsignedInt(
                self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding)
            )
        let result = UnsafeMutablePointer<CUnsignedChar>.alloc(
                        Int(CC_MD5_DIGEST_LENGTH)
                     )

        CC_MD5(cString!, length, result)

        return String(format:
            "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x",
            result[0], result[1], result[2], result[3],
            result[4], result[5], result[6], result[7],
            result[8], result[9], result[10], result[11],
            result[12], result[13], result[14], result[15])
    }
}

 以上代碼在網上找到“http://www.cocoachina.com/bbs/read.php?tid-290038.html”

可以任意使用md5加密了

  print(postString.md5);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM