美文网首页
swift-散列算法md5

swift-散列算法md5

作者: ksnowlv | 来源:发表于2018-06-22 18:06 被阅读15次

swift中散列算法md5很常用。


    func md5() -> NSString {
        
        guard self.length > 0 else {
            return self
        }
        
        let utf8Buf = self.cString(using: String.Encoding.utf8.rawValue)
        let length = self.lengthOfBytes(using: String.Encoding.utf8.rawValue)
        
        let buffer = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: Int(CC_MD5_DIGEST_LENGTH))
        buffer.initialize(to: 0)
        CC_MD5(utf8Buf,CC_LONG(length), buffer)
        
        let md5String = NSMutableString()
        
        for i in 0 ..< CC_MD5_DIGEST_LENGTH {
            md5String.appendFormat("%02x", buffer[Int(i)])
        }
        
        buffer.deallocate()
        
        return md5String.lowercased as NSString
    }

记得在bridging-header中导入头文件

  • CommonCrypto/CommonDigest.h

相关文章

网友评论

      本文标题:swift-散列算法md5

      本文链接:https://www.haomeiwen.com/subject/nvqlyftx.html