Swift - MD5加密;SHA1加密

在客户端开发中,我们常常遇到需要将数据加密保存或提交的问题,下面我们来看看两种常用的加密方式

(一) 首先我们需要引入库 import CommonCrypto

(二) 创建一个字符串扩展:代码如下

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

    }

  }

    转自:https://blog.csdn.net/flyToSky_L/article/details/73060893?locationNum=13&fps=1

猜你喜欢

转载自blog.csdn.net/czq1993/article/details/83270874
今日推荐