Przeglądaj źródła

Fixes for linux.

Michael Ledin 9 lat temu
rodzic
commit
e78c5cc337

+ 7 - 1
Sources/CryptoSwift/CSArrayType+Extensions.swift

@@ -18,7 +18,13 @@ extension Array: CSArrayType {
 
 public extension CSArrayType where Iterator.Element == UInt8 {
     public func toHexString() -> String {
-        return self.lazy.reduce("") { $0 + String(format:"%02x", $1) }
+        return self.lazy.reduce("") {
+            var s = String($1, radix: 16)
+            if s.characters.count == 1 {
+                s = "0" + s
+            }
+            return $0 + s
+        }
     }
 }
 

+ 6 - 0
Sources/CryptoSwift/String+Extension.swift

@@ -52,4 +52,10 @@ extension String {
     public func authenticate<A: Authenticator>(with authenticator: A) throws -> String {
         return try self.utf8.lazy.map({ $0 as UInt8 }).authenticate(with: authenticator).toHexString()
     }
+    
+    #if !_runtime(_ObjC)
+    public func hasPrefix(_ prefix: String) -> Bool {
+        return prefix == String(self.characters.prefix(prefix.characters.count))
+    }
+    #endif
 }