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