iOS MD5 加密,不可逆,未加盐

2020-11-25  本文已影响0人  移动的键盘
import UIKit
import CommonCrypto

class MBAMD5Swift: NSObject {

/// MD5 算法
/// - Parameter aString: 需要处理的字符串
/// - Returns: 目标字符串
@objc class func md5(_ aString:String) -> String? {
    
    if let data:Data = aString.data(using: .utf8) {
        
        let inputByte = [UInt8](data)
        
        let output = UnsafeMutablePointer<UInt8>.allocate(capacity: Int(CC_MD5_DIGEST_LENGTH))
        
        CC_MD5(inputByte, CC_LONG(inputByte.count), output)
        
        var md5Str:String = ""
        
        for i:Int in 0 ..< Int(CC_MD5_DIGEST_LENGTH) {
            md5Str = md5Str.appendingFormat("%02x", _:output[i])
        }

        output.deallocate()

        return md5Str
    }
    return nil
}
}

CC_MD5函数在iOS13 后被弃用,iOS13之后请使用SHA256或强度更高的算法

上一篇 下一篇

猜你喜欢

热点阅读