title: SQLCipher Android is not throwing an exception with incorrect password
body: <p>I am using SQLCipher v3.5.7 and observed an unexpected behavior from SQLiteDatabase with incorrect password.</p>
  
  <ol>
  <li>I encrypted the database with "key1". </li>
  <li>Closed the database connection.</li>
  <li>Then I tried to open my database with "key2", the SQLiteDatabase is not throwing an exception. Instead, it is updating the old password (key1) to new password (key2). I verified this by opening the .db file in SQLiteBrowser.</li>
  </ol>
  
  <p>Can somebody help me why it is behaving this way?</p>
  
  <pre><code>private static SQLiteCipherDatabaseHelper createDBConnection(Context context, String databasePath, final String key) throws SQLiteDatabaseException {
      if (dbInstance == null) {
          dbInstance = new SQLiteCipherDatabaseHelper(context, databasePath);
  
          String path = context.getDatabasePath(databasePath).getPath();
          File dbPathFile = new File(path);
          if (!dbPathFile.exists()) {
                 dbPathFile.getParentFile().mkdirs();
          }
  
          setDatabaseWithDBEncryption(key);
      }
      return dbInstance;
  }
  
  private static void setDatabaseWithDBEncryption(String encryptionKey) throws SQLiteDatabaseException {
      loadSQLCipherLibs();
      try {
          sqliteDatabase = SQLiteDatabase.openOrCreateDatabase(new File(context.getDatabasePath(databasePath).getPath()), encryptionKey, null);
      } catch (Exception e) {
          SyncLogger.getSharedInstance().logFatal("SQLiteCipherDatabaseHelper", "Failed to open or create database. Please provide a valid encryption key");
          throw new SQLiteDatabaseException(SyncErrorCodes.EC_DB_SQLCIPHER_FAILED_TO_OPEN_OR_CREATE_DATABASE, SyncErrorDomains.ED_OFFLINE_OBJECTS, SyncErrorMessages.EM_DB_SQLCIPHER_FAILED_TO_OPEN_OR_CREATE_DATABASE, e);
      }
  }
  </code></pre>