1

我正在做一个数据加密项目,只是想问一下如何使用消息摘要类的方法更新。在 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 个字节的数据。

4

1 回答 1

3

这就是我从中得到的

这三个参数的用途是什么?

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

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

input是应该被散列的数组

offset是数组的索引,它是起点

len指定它应该离起始索引多远

于 2017-12-13T15:00:01.850 回答