字符串加密 - String md5 in swift3.0

很多时候我们会用到md5加密,下面是swift 3.0的实现方法:

首先新建桥接文件xx-Bridging-Header,方法很多,最简单的办法是在swift工程中任意新建一个oc文件,然后会自动提示创建。

然后在桥接文件中引入加密库

//
//  Use this file to import your target's public headers that you would like to expose to Swift.
//

#import <CommonCrypto/CommonDigest.h>

加密拓展类为StringMd5.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>.init(allocatingCapacity: 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 md5String = someString.md5()

资料:
[http://stackoverflow.com/questions/28310589/decode-a-string-in-swift]
[http://stackoverflow.com/questions/24123518/how-to-use-cc-md5-method-in-swift-language]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,252评论 4 61
  • 雨不大不小的下着,不多的心塞杂乱的情绪,大概是这个时代本身就厌弃寡言的人。也好,还能微笑着,在这一瞬间,在安静...
    闷在自由里的鱼阅读 236评论 0 0
  • 呆萌捶耳兔 临摹一副 适合小白练手用 只需10分钟
    小菁老师阅读 306评论 2 1
  • 01 初识 他叫涩桉,桉树是生长极快的树木,他父母给他取这个名字的时候就希望他能够像桉树一样平平安安快点长...
    莫杳阅读 2,201评论 3 2