         return try Decryptor(password: password).decryptData(data)
     }
 
-    /// Generates random NSData of given length
+    /// Generates random Data of given length
     /// Crashes if `length` is larger than allocatable memory, or if the system random number generator is not available.
     public static func randomData(ofLength length: Int) -> Data {
         var data = Data(count: length)!

    }

    func update(withData data: Data) {
        CCHmacUpdate(&context, (data as NSData).bytes, data.count)
    }

    func finalData() -> Data {


        private func handle(_ data: Data) -> Data {
            var result: Data
            if var accum = pendingHeader {
                pendingHeader = nil
                accum.append(data)
                result = accum
