private void convertPasswords(){
  char[] password=removePassword();
  boolean passwordHash=removeProperty("PASSWORD_HASH",false);
  if (getProperty("CIPHER",null) != null) {
    int space=-1;
    for (int i=0, len=password.length; i < len; i++) {
      if (password[i] == ' ') {
        space=i;
        break;
      }
    }
    if (space < 0) {
      throw DbException.get(ErrorCode.WRONG_PASSWORD_FORMAT);
    }
    char[] np=new char[password.length - space - 1];
    char[] filePassword=new char[space];
    System.arraycopy(password,space + 1,np,0,np.length);
    System.arraycopy(password,0,filePassword,0,space);
    Arrays.fill(password,(char)0);
    password=np;
    fileEncryptionKey=FilePathEncrypt.getPasswordBytes(filePassword);
    filePasswordHash=hashPassword(passwordHash,"file",filePassword);
  }
  userPasswordHash=hashPassword(passwordHash,user,password);
}

private void convertPasswords ( ) { char [ ] password = removePassword ( ) ; boolean passwordHash = removeProperty ( "PASSWORD_HASH" , false ) ; if ( getProperty ( "CIPHER" , null ) != null ) { int space = - 1 ; for ( int i = 0 , len = password . length ; i < len ; i ++ ) { if ( password [ i ] == ' ' ) { space = i ; break ; } } if ( space < 0 ) { throw DbException . get ( ErrorCode . WRONG_PASSWORD_FORMAT ) ; } char [ ] np = new char [ password . length - space - 1 ] ; char [ ] filePassword = new char [ space ] ; System . arraycopy ( password , space + 1 , np , 0 , np . length ) ; System . arraycopy ( password , 0 , filePassword , 0 , space ) ; Arrays . fill ( password , ( char ) 0 ) ; password = np ; fileEncryptionKey = FilePathEncrypt . getPasswordBytes ( filePassword ) ; filePasswordHash = hashPassword ( passwordHash , "file" , filePassword ) ; } userPasswordHash = hashPassword ( passwordHash , user , password ) ; }
split the password property into file password and user password if necessary , and convert them to the internal hash format .
