| 1234567891011121314151617181920212223242526272829303132333435363738 |
- //
- // String+Extension.swift
- // Runner
- //
- // Created by Destiny on 2025/6/18.
- //
- import Foundation
- import CommonCrypto
- extension String {
-
- /// 原生md5
- public var md5: String {
- guard let data = data(using: .utf8) else {
- return self
- }
- var digest = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
-
- #if swift(>=5.0)
-
- _ = data.withUnsafeBytes { (bytes: UnsafeRawBufferPointer) in
- return CC_MD5(bytes.baseAddress, CC_LONG(data.count), &digest)
- }
-
- #else
-
- _ = data.withUnsafeBytes { bytes in
- return CC_MD5(bytes, CC_LONG(data.count), &digest)
- }
-
- #endif
-
- return digest.map { String(format: "%02x", $0) }.joined()
-
- }
-
- }
|