@Override synchronized public void engineSetSeed(byte[] seed){
  if (state != null) {
    digest.update(state);
    for (int i=0; i < state.length; i++) {
      state[i]=0;
    }
  }
  state=digest.digest(seed);
}

@ Override synchronized public void engineSetSeed ( byte [ ] seed ) { if ( state != null ) { digest . update ( state ) ; for ( int i = 0 ; i < state . length ; i ++ ) { state [ i ] = 0 ; } } state = digest . digest ( seed ) ; }
reseeds this random object . the given seed supplements , rather than replaces , the existing seed . thus , repeated calls are guaranteed never to reduce randomness .
