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

來源:互聯網
上載者:User

標籤:

最近在學習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.swiftextension 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);

 

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

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.