Swift3实现字符串的MD5加密

Swift3实现字符串的MD5加密

新建一个OC文件

如图所示


接着下一步下一步

使用桥接头文件引入

接上一步xcode会自动提醒你实现
点击Create Bridging Header即可

之后在新建的.h文件添加如图所示代码

#import <CommonCrypto/CommonDigest.h>

扩展String建立一个md5的方法

新建一个Swift文件
添加如下代码

import Foundation
extension String {
    func md5() -> String {
        let str = self.cString(using: String.Encoding.utf8)
        let strLen = CUnsignedInt(self.lengthOfBytes(using: String.Encoding.utf8))
        let digestLen = Int(CC_MD5_DIGEST_LENGTH)
        let result = UnsafeMutablePointer<CUnsignedChar>.allocate(capacity: digestLen)
        CC_MD5(str!,strLen,result)
        let hash = NSMutableString()
        for i in 0 ..< digestLen {
            hash.appendFormat("%02x",result[i])
        }
        result.deinitialize()

        return String(format: hash as String)
    }
}

之后就大功告成了

可以这么使用

let str:String = "我是要加密的字符串"
let md5 = str.md5()
print(md5)

结果:7fbdc46a4e51335d3cf567ecfc1eb2f5

相关文章

Swift 正式开源!Swift 团队很高兴宣布 Swift 开始开源新篇章。自从苹果发布 Swfit 编程语言,就成为了...
快,快,快!动动您的小手,分享给更多朋友! 苹果去年推出了全新的编程语言Swift,试图让iOS开发更简单...
开发者(KaiFaX) 面向开发者、程序员的专业平台! 和今年年初承诺的一样,苹果贴出了Swift语言的源码,...
本文由@Chun发表于Chun Tips :http://chun.tips/blog/2014/12/11/shi-yong-swift-gou-jian-zi-ding-yi...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...
本文由CocoaChina译者leon(社区ID)翻译 原文:THE RIGHT WAY TO WRITE A SINGLETON 在之前的帖子里聊过...