swift 3.0  md5加密和sha1加密

简单记录使用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
 以上为我在项目开发中,使用到的加密方法。如有不同,欢迎留言
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章