2017-12-13 22 views
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 바이트의 데이터를 말합니다.

+1

검사를 가야 얼마나 멀리 시작 인덱스에서 지정하는 출발점이 배열의 인덱스

offset 해시하도록되어 배열되어있는 docs https://docs.oracle.com/javase/7/docs/api/java/security/MessageDigest.html#update(byte[],%20int,%20int) – JohnnyAW

답변

1

이 내가 this에서 무엇을 얻을, 그리고 세 개의 인수가 사용됩니다 무엇

this?

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

업데이트 지정된 오프셋에서 시작하는 지정된 바이트 배열을 사용해 다이제스트.

input

len 그것이