簡單記錄使用swift3.0開發,加密md5和sha1的方法:Md5Sha1 的demo下載地址:https://github.com/feifeiios/Md5Sha1
先新建一個項目,名爲:Md5Sha1。
建一個名爲Header.h的文件,在project中設置 ,如圖:
在Header.h中,引入代碼如下:(此方法爲使用MD5加密)
#import <CommonCrypto/CommonDigest.h>//md5
新建Encryption.swift文件,內部代碼如下:
extension String {
//MARK: - MD5
func md5() -> String {
let cStr = self.cString(using: String.Encoding.utf8);
let buffer = UnsafeMutablePointer<UInt8>.allocate(capacity: 16)
CC_MD5(cStr!,(CC_LONG)(strlen(cStr!)), buffer)
let md5String = NSMutableString();
for i in 0 ..< 16{
md5String.appendFormat("%02x", buffer[i])
}
free(buffer)
return md5String as String
}
//MARK: - sha1 加密
func sha1() -> String {
//UnsafeRawPointer
let data = self.data(using: String.Encoding.utf8)!
var digest = [UInt8](repeating: 0, count:Int(CC_SHA1_DIGEST_LENGTH))
let newData = NSData.init(data: data)
CC_SHA1(newData.bytes, CC_LONG(data.count), &digest)
let output = NSMutableString(capacity: Int(CC_SHA1_DIGEST_LENGTH))
for byte in digest {
output.appendFormat("%02x", byte)
}
return output as String
}
}
使用時候,代碼如下:
let string = "123456"
let string_md5 = string.md5()
let string_sha1 = string.sha1()
print("string = \(string)")
print("string_md5 = \(string_md5)")
print("sting_sha1 = \(string_sha1)")
打印日誌:
string = 123456
string_md5 = e10adc3949ba59abbe56e057f20f883e
sting_sha1 = 7c4a8d09ca3762af61e59520943dc26494f8941b
以上爲我在項目開發中,使用到的加密方法。如有不同,歡迎留言