如何使用消息摘要的更新方法Class

How to use update Method of Message Digest Class

我在做一个数据加密项目,想请教如何使用消息摘要class的方法更新。 在一个MD5实现的代码片段中,是这样写的。

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){}
    }
}

我对这条线感到困惑

md.update(dataBytes,0,0);

这三个参数有什么用?以及如何仅对某个数字进行哈希处理,例如 192 字节的数据。

这是我从 this, and this

那里得到的

what are the three arguments are used for?

update(byte[] input, int offset, int len)

使用指定的字节数组更新摘要,从指定的偏移量开始。

input 是应该被散列的数组

offset是数组的索引,也就是起点

len 指定距离起始索引的距离