JavaTM Platform
Standard Ed. 6

java.security
클래스 MessageDigestSpi

java.lang.Object 
  상위를 확장 java.security.MessageDigestSpi
직계의 기존의 서브 클래스:
MessageDigest


public abstract class MessageDigestSpi
extends Object

MessageDigest 클래스의 Service Provider Interface (SPI)를 정의합니다. 이것은, MD5 나 SHA 라고 하는 메세지 다이제스트 알고리즘의 기능을 제공합니다. 메세지 다이제스트는, 임의 사이즈의 데이터를 취득해 고정장의 해시치를 출력하는 안전한 한방향의 해시 기능입니다.

이 클래스의 모든 추상 메소드는, 특정의 메세지 다이제스트 알고리즘의 구현을 공급하려고 하는 암호화 서비스 프로바이더에 의해 구현되지 않으면 안됩니다.

Cloneable 인터페이스는, 자유롭게 구현할 수 있습니다.

관련 항목:
MessageDigest

생성자 의 개요
MessageDigestSpi ()
           
 
메소드의 개요
 Object clone ()
          구현이 복제 가능한 경우는 복제를 돌려줍니다.
protected abstract  byte[] engineDigest ()
          패딩등의 최종 처리를 행해 해시 계산을 완료합니다.
protected  int engineDigest (byte[] buf, int offset, int len)
          패딩등의 최종 처리를 행해 해시 계산을 완료합니다.
protected  int engineGetDigestLength ()
          바이트 단위의 다이제스트장을 돌려줍니다.
protected abstract  void engineReset ()
          재사용을 위해서(때문에) 다이제스트를 리셋 합니다.
protected abstract  void engineUpdate (byte input)
          지정된 바이트 데이터를 사용해 다이제스트를 갱신합니다.
protected abstract  void engineUpdate (byte[] input, int offset, int len)
          지정된 바이트 데이터의 배열을 사용해, 지정된 오프셋(offset)로부터 개시해 다이제스트를 갱신합니다.
protected  void engineUpdate (ByteBuffer  input)
          지정된 ByteBuffer 를 사용해 다이제스트를 갱신합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

MessageDigestSpi

public MessageDigestSpi()
메소드의 상세

engineGetDigestLength

protected int engineGetDigestLength()
바이트 단위의 다이제스트장을 돌려줍니다.

이 구상 메소드는, 사전에 정의된 이 abstract 클래스에 추가된 것입니다. 하위 호환성을 위해서(때문에), abstract 메소드에는 할 수 없습니다.

디폴트 동작은 0 을 돌려줍니다.

이 메소드는 프로바이더에 의해 오버라이드(override) 되면(자), 다이제스트장을 돌려줍니다.

반환값:
바이트 단위의 다이제스트장
도입된 버젼:
1.2

engineUpdate

protected abstract void engineUpdate(byte input)
지정된 바이트 데이터를 사용해 다이제스트를 갱신합니다.

파라미터:
input - 갱신에 사용하는 바이트

engineUpdate

protected abstract void engineUpdate(byte[] input,
                                     int offset,
                                     int len)
지정된 바이트 데이터의 배열을 사용해, 지정된 오프셋(offset)로부터 개시해 다이제스트를 갱신합니다.

파라미터:
input - 갱신에 사용하는 바이트 데이터의 배열
offset - 바이트의 배열에서의 개시 오프셋(offset)
len - 사용하는 바이트수 (offset 로부터 개시)

engineUpdate

protected void engineUpdate(ByteBuffer  input)
지정된 ByteBuffer 를 사용해 다이제스트를 갱신합니다. 다이제스트의 갱신시에는,input.position() 위치로부터 시작되는 input.remaining() 바이트가 사용됩니다. 종료시에, 버퍼의 위치는 리밋트에 동일해집니다만, 리밋트는 변경되지 않습니다.

파라미터:
input - ByteBuffer
도입된 버젼:
1.5

engineDigest

protected abstract byte[] engineDigest()
패딩등의 최종 처리를 행해 해시 계산을 완료합니다. engineDigest 의 호출뒤, 엔진은 리셋 됩니다 (engineReset 를 참조). 리셋 조작은 엔진의 구현자가 담당합니다.

반환값:
결과적으로 얻을 수 있는 해시치에 대한 바이트 데이터의 배열

engineDigest

protected int engineDigest(byte[] buf,
                           int offset,
                           int len)
                    throws DigestException 
패딩등의 최종 처리를 행해 해시 계산을 완료합니다. engineDigest 의 호출뒤, 엔진은 리셋 됩니다 (engineReset 를 참조). 리셋 조작은 엔진의 구현자가 담당합니다. 이 메소드는 추상 메소드가 아니면 안됩니다만, binary level compatibility를 유지하기 위해서(때문에) 구상 메소드대로 해 둡니다. 호환성을 배려하는 프로바이더는, 이 메소드를 오버라이드(override) 해 주세요.

파라미터:
buf - 다이제스트를 포함하는 출력 버퍼
offset - 출력 버퍼의 개시 오프셋(offset)
len - 다이제스트에 충당되는 buf 내의 바이트장. 이 디폴트 구현과 SUN 프로바이더는, 어느쪽이나 부분적인 다이제스트를 돌려주지 않는다. 이 파라미터는, Java API 에 있어서의 통일성을 유지하기 위해서(때문에)만 존재한다. 이 파라미터의 값이 실제의 다이제스트장보다 짧은 경우, 메소드는 DigestException 를 throw 한다. 이 파라미터는, 그 값이 실제의 다이제스트장보다 긴지, 또는 동일한 경우는 무시된다
반환값:
출력 버퍼에 포함되는 다이제스트장
예외:
DigestException - 에러가 발생했을 경우
도입된 버젼:
1.2

engineReset

protected abstract void engineReset()
재사용을 위해서(때문에) 다이제스트를 리셋 합니다.


clone

public Object  clone()
             throws CloneNotSupportedException 
구현이 복제 가능한 경우는 복제를 돌려줍니다.

오버라이드(override):
클래스 Object 내의 clone
반환값:
구현이 복제 가능한 경우는 복제
예외:
CloneNotSupportedException - Cloneable 를 지원하고 있지 않는 구현으로 불려 갔을 경우
관련 항목:
Cloneable

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.