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