I'm working on a data encryption project and just wanted to ask how to use the method update of message digest class. In a code snippet of MD5 implementation, this was written.
import java.security.MessageDigest;
import java.util.*;
class MD5{
    public static void main(String[]args){
        Scanner cin=new Scanner(System.in);
        String s=cin.nextLine();
        try{
            MessageDigest md=MessageDigest.getInstance("MD5");
            byte[] dataBytes=s.getBytes(); 
            md.update(dataBytes,0,0);
            byte[] digest=md.digest();
            for(byte b:digest)System.out.printf("%02x",b);
        }catch(Exception e){}
    }
}
and i'm confused about this line
md.update(dataBytes,0,0);
what are the three arguments are used for? And how to hash only a certain number say 192 bytes of a data.
 
                        
This is what i get from this, and this
Updates the digest using the specified array of bytes, starting at the specified offset.
inputis the array which is supposed to be hashedoffsetis the index of the array which is the starting pointlenspecifies how far from the starting index should it go