MD5的應用,花了一點點小時間參考別人的文章而做出來的
一開始做的時候看到大家都說要引入
#import <CommonCrypto/CommonDigest.h>
我一開始想說直接在swift內呼叫,發現怎麼樣都叫不到
後來想到MD5應該屬於C,所以這邊使用swift的朋友們別忘了建立橋接
橋接建立方法最偷懶最方便的方法建立cocoa touch class 將語言改成OC
然後按確定後會顯示下圖
記得要按下建立橋接如下圖
建立好後會如下圖
這時候在橋接內引入 #import <CommonCrypto/CommonDigest.h>
小提醒:如果OC的class沒用到可以刪掉沒關係,
因為我們只是方便建立橋接省去麻煩
然後建立一個新的swift file
我個人這邊檔名直接設定為MD5而程式碼如下
import Foundation
extension String {
func md5() -> String {
let str = self.cString(using: .utf8)
let strLen = CUnsignedInt(self.lengthOfBytes(using: .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)
}
}
最後直接在viewcontroller.swift的viewdidload內測試摟
你可以建立一個string或者是直接print
let string = "123456"
print(string.md5())
print("MD5測試".md5())
測試出來結果如下
e10adc3949ba59abbe56e057f20f883e
ee4580a7e015144cbfaa8ba05f742cba
可以到線上的測試網站測試看看喔!!