public void updateKey(byte[] blowfishKey){
  this.blowfishKey=blowfishKey;
  System.arraycopy(SBOX_INIT_0,0,sBoxes[0],0,256);
  System.arraycopy(SBOX_INIT_1,0,sBoxes[1],0,256);
  System.arraycopy(SBOX_INIT_2,0,sBoxes[2],0,256);
  System.arraycopy(SBOX_INIT_3,0,sBoxes[3],0,256);
  initArrays();
}

public void updateKey ( byte [ ] blowfishKey ) { this . blowfishKey = blowfishKey ; System . arraycopy ( SBOX_INIT_0 , 0 , sBoxes [ 0 ] , 0 , 256 ) ; System . arraycopy ( SBOX_INIT_1 , 0 , sBoxes [ 1 ] , 0 , 256 ) ; System . arraycopy ( SBOX_INIT_2 , 0 , sBoxes [ 2 ] , 0 , 256 ) ; System . arraycopy ( SBOX_INIT_3 , 0 , sBoxes [ 3 ] , 0 , 256 ) ; initArrays ( ) ; }
update current blowfish key with the new one and reinitialize the p - array and s - boxes
