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或强度更高的算法