★ 프로그래밍 사고방식:java.보안 패키지의 MessageDigest 클래스는 메시지 요약을 계산하는 방법을 제공합니다. 먼저 대상을 생성하고 업데이트 () 방법을 실행하면 원시 데이터를 이 대상에 전달한 다음digest () 방법을 실행하면 메시지 요약을 얻을 수 있습니다.구체적인 절차는 다음과 같다. (1) MessageDigest 객체 MessageDigest m=MessageDigest를 생성한다.getInstance("MD5"); 분석: 2.2.1 소절의 KeyGenerator 클래스와 같습니다.MessageDigest 클래스도 공장 클래스입니다. 그 구조기는 보호되어 있습니다. new MessageDigist () 를 사용하여 대상을 만들 수 없습니다. 정적 방법인 get Instance () 를 통해 MessageDigest 대상을 생성해야 합니다.그 중에서 전송된 매개 변수는 계산 메시지 요약에 사용되는 알고리즘을 지정합니다. 자주 사용하는 알고리즘은 "MD5", "SHA"등입니다.D5 알고리즘에 대한 자세한 내용은 참조하십시오.http://www.gztarena.com/rfc1321.txt. (2) 계산할 문자열 m.update(x.getBytes("UTF8")를 전송합니다.분석: x는 계산이 필요한 문자열입니다. 업데이트에 전송된 매개 변수는 바이트 형식이나 바이트 형식의 그룹입니다. 문자열에 대해서는 getBytes () 방법으로 문자열 그룹을 생성해야 합니다.(3) 계산 메시지 요약bytes[]=m.digest();분석: MessageDigest 대상의 digest(광저우 다네자바) 방법을 실행하여 계산을 완성하고 계산한 결과는 바이트 유형의 수조를 통해 되돌아온다.(4) 계산 결과를 처리하는 데 필요하면 다음과 같은 코드를 사용하여 계산 결과 s를 문자열로 변환할 수 있습니다
String result="";
for (int i=0; i
result+=Integer.toHexString((0x000000ff & s) | 0xffffff00)。substring(6);
}
★ 코드와 분석: 전체 프로그램은 다음과 같다.★ 실행 프로그램은 자바 DigestCalc abc를 입력하여 프로그램을 실행합니다. 그 중에서 명령행 매개 변수 abc는 원시 데이터이고 화면 출력 계산 후의 메시지 요약: 900150983cd24fb0d6963f7d28e17f72입니다.