瀏覽代碼

String HMAC initializer

Marcin Krzyżanowski 9 年之前
父節點
當前提交
cab32f0370
共有 2 個文件被更改,包括 20 次插入0 次删除
  1. 19 0
      Sources/CryptoSwift/Foundation/HMAC+Foundation.swift
  2. 1 0
      Sources/CryptoSwift/HMAC.swift

+ 19 - 0
Sources/CryptoSwift/Foundation/HMAC+Foundation.swift

@@ -0,0 +1,19 @@
+//
+//  HMAC+Foundation.swift
+//  CryptoSwift
+//
+//  Created by Marcin Krzyzanowski on 12/09/16.
+//  Copyright © 2016 Marcin Krzyzanowski. All rights reserved.
+//
+
+import Foundation
+
+extension HMAC {
+    convenience public init (key: String, variant:HMAC.Variant = .md5) throws {
+        guard let kkey = key.bridge().data(using: String.Encoding.utf8.rawValue, allowLossyConversion: false)?.bytes else {
+            throw Error.invalidInput
+        }
+        
+        self.init(key: kkey, variant: variant)
+    }
+}

+ 1 - 0
Sources/CryptoSwift/HMAC.swift

@@ -10,6 +10,7 @@ final public class HMAC: Authenticator {
 
     public enum Error: Swift.Error {
         case authenticateError
+        case invalidInput
     }
     
     public enum Variant {