|
@@ -10,6 +10,21 @@ import Foundation
|
|
|
import MobileCoreServices
|
|
|
|
|
|
extension String {
|
|
|
+
|
|
|
+ public var md5: String {
|
|
|
+ let str = cString(using: String.Encoding.utf8)
|
|
|
+ let strLen = CUnsignedInt(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.deallocate()
|
|
|
+ return hash as String
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
public var pathExtension: String {
|
|
|
return (self as NSString).pathExtension
|