common/src/main/java/HTTPClient/MD4.java
/**
     * Update the hash computation.
     *
     * @param data the array of bytes to add to the hash computation
     * @param off  the offset in <var>data</var> at which to begin
     * @param len  the number of bytes from <var>data</var> to use
     * @exception IllegalStateException if <code>getHash()</code has
     *                                  has already been invoked
     */
Update the hash computation.
@param data the array of bytes to add to the hash computation
@param off  the offset in data at which to begin
@param len  the number of bytes from data to use
@exception IllegalStateException if getHash()</code has
has already been invoked
Update the hash computation . @param data the array of bytes to add to the hash computation @param off the offset in data at which to begin @param len the number of bytes from data to use @exception IllegalStateException if getHash () < / code has has already been invoked
public void update(byte[] data, int off, int len)
    {
	if (final_hash != null)
	    throw new IllegalStateException("Hash already terminated");
	int buf_off = (int) ((state.count >>> 3) & 63);	
	int part_len = 64 - buf_off;
	state.count += len << 3;
	if (len >= part_len)
	{
	    System.arraycopy(data, off, state.buffer, buf_off, part_len);
	    transform(state.buffer, 0);
	    int end = off + len;
	    for (off+=part_len; off<(end-63); off+=64)
		transform(data, off);
	    buf_off = 0;
	    len     = end - off;
	}
	System.arraycopy(data, off, state.buffer, buf_off, len);
    }
public void update ( byte [ ] data , int off , int len ) { if ( final_hash != null ) throw new IllegalStateException ( "Hash already terminated" ) ; int buf_off = ( int ) ( ( state . count >>> 3 ) & 63 ) ; int part_len = 64 - buf_off ; state . count += len << 3 ; if ( len >= part_len ) { System . arraycopy ( data , off , state . buffer , buf_off , part_len ) ; transform ( state . buffer , 0 ) ; int end = off + len ; for ( off += part_len ; off < ( end - 63 ) ; off += 64 ) transform ( data , off ) ; buf_off = 0 ; len = end - off ; } System . arraycopy ( data , off , state . buffer , buf_off , len ) ; }
Update the hash computation.
Update the hash computation .
// offset in state buf // transform as much as possible // save rest in state buffer