1. 程式人生 > >MD5加密;SHA1加密

MD5加密;SHA1加密

在客戶端開發中,我們常常遇到需要將資料加密儲存或提交的問題,下面我們來看看兩種常用的加密方式

(一) 首先我們需要引入庫 import CommonCrypto

(二) 建立一個字串擴充套件:程式碼如下

extensionString {

//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 in0 ..< 16{

            md5String.appendFormat("%02x", buffer[i])

        }

free(buffer)

return md5String asString

    }

//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 asString

    }

  }