             iv.bytes,
             &cryptorOut
         )
-        self.cryptor = cryptorOut
+        cryptor = cryptorOut
 
         // It is a programming error to create us with illegal values
         // This is an internal class, so we can constrain what is sent to us.

    }

    deinit {
        if self.cryptor != CCCryptorRef() {
            CCCryptorRelease(self.cryptor)
        }
    }


    static let passwordHeaderSize = 1 + 1 + 8 + 8 + kCCBlockSizeAES128

    static public func keyForPassword(password: String, salt: NSData) -> NSData {
        let derivedKey = NSMutableData(length: keySize)!
        let derivedKeyPtr = UnsafeMutablePointer<UInt8>(derivedKey.mutableBytes)

        let passwordData = password.dataUsingEncoding(NSUTF8StringEncoding)!
