Swift MD5加密

Posted xiao孛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Swift MD5加密相关的知识,希望对你有一定的参考价值。

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

首先新建桥接文件 xx-Bridging-Header,方法很多,这里就不介绍了。

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

#import <CommonCrypto/CommonDigest.h>

 

新建一个 Swift 扩展类文件 String+Extension

extension String {
    
    /// MD5 加密
    ///
    /// - Returns: 32 位大写
    func ss_md5() -> String {
        let str = self.cString(using: .utf8)
        let strLen = CUnsignedInt(self.lengthOfBytes(using: .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 MD5Str = str.ss_MD5()

 

以上是关于Swift MD5加密的主要内容,如果未能解决你的问题,请参考以下文章

开源框架 RSA_Swift

使用 Swift 4 解密 MD5 base64

求c/c++16位md5加密代码

MD5加密

MD5加密C#和js代码加密结果不同

MD5加密的代码