다음을 통해 공유


HashAlgorithm.TransformFinalBlock 메서드

지정된 바이트 배열의 지정된 영역에 대해 해시 값을 계산합니다.

네임스페이스: System.Security.Cryptography
어셈블리: mscorlib(mscorlib.dll)

구문

‘선언
Public Function TransformFinalBlock ( _
    inputBuffer As Byte(), _
    inputOffset As Integer, _
    inputCount As Integer _
) As Byte()
‘사용 방법
Dim instance As HashAlgorithm
Dim inputBuffer As Byte()
Dim inputOffset As Integer
Dim inputCount As Integer
Dim returnValue As Byte()

returnValue = instance.TransformFinalBlock(inputBuffer, inputOffset, inputCount)
public byte[] TransformFinalBlock (
    byte[] inputBuffer,
    int inputOffset,
    int inputCount
)
public:
virtual array<unsigned char>^ TransformFinalBlock (
    array<unsigned char>^ inputBuffer, 
    int inputOffset, 
    int inputCount
) sealed
public final byte[] TransformFinalBlock (
    byte[] inputBuffer, 
    int inputOffset, 
    int inputCount
)
public final function TransformFinalBlock (
    inputBuffer : byte[], 
    inputOffset : int, 
    inputCount : int
) : byte[]

매개 변수

  • inputBuffer
    해시 코드를 계산할 입력입니다.
  • inputOffset
    데이터 사용을 시작할 바이트 배열의 오프셋입니다.
  • inputCount
    데이터로 사용할 바이트 배열의 바이트 수입니다.

반환 값

해시된 입력의 일부에 대한 복사본인 배열입니다.

설명

TransformBlock 메서드를 호출한 후 최종 해시 값을 검색하기 전에 TransformFinalBlock 메서드를 호출해야 합니다.

이 메서드는 해시 값은 반환하지 않고 입력 데이터에서 해시된 부분의 복사본만 반환합니다. TransformFinalBlock 메서드를 호출한 후에 최종 해시된 값을 검색하려면 Hash 속성에 포함된 바이트 배열을 가져와야 합니다.

예제

다음 코드 예제에서는 TransformFinalBlock 메서드와 TransformBlock 메서드를 사용하여 문자열을 해시하는 방법을 보여 줍니다.

// Use TransformFinalBlock with TransformBlock to hash a string.
byte[] inArray = new ASCIIEncoding().GetBytes("abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray, 0, 13, inArray, 0);
md5.TransformFinalBlock(inArray, 13, 13);
// Use TransformFinalBlock with TransformBlock to hash a string.
array<Byte>^inArray = (gcnew ASCIIEncoding)->GetBytes( L"abcdefghijklmnopqrstuvwxyz" );
MD5CryptoServiceProvider^ md5 = gcnew MD5CryptoServiceProvider;
md5->TransformBlock( inArray, 0, 13, inArray, 0 );
md5->TransformFinalBlock( inArray, 13, 13 );
// Use TransformFinalBlock with TransformBlock to hash a string.
ubyte inArray[] = (new ASCIIEncoding()).GetBytes(
    "abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray, 0, 13, inArray, 0);
md5.TransformFinalBlock(inArray, 13, 13);
// Hash two strings together.
byte[] inArray1 = new ASCIIEncoding().GetBytes("message ");
byte[] inArray2 = new ASCIIEncoding().GetBytes("digest");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray1, 0, inArray1.Length, inArray1, 0);
md5.TransformFinalBlock(inArray2, 0, inArray2.Length);
// Hash two strings together.
array<Byte>^inArray1 = (gcnew ASCIIEncoding)->GetBytes( L"message " );
array<Byte>^inArray2 = (gcnew ASCIIEncoding)->GetBytes( L"digest" );
MD5CryptoServiceProvider^ md5 = gcnew MD5CryptoServiceProvider;
md5->TransformBlock( inArray1, 0, inArray1->Length, inArray1, 0 );
md5->TransformFinalBlock( inArray2, 0, inArray2->Length );
// Hash two strings together.
ubyte inArray1[] = (new ASCIIEncoding()).GetBytes("message ");
ubyte inArray2[] = (new ASCIIEncoding()).GetBytes("digest");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformBlock(inArray1, 0, inArray1.get_Length(), inArray1, 0);
md5.TransformFinalBlock(inArray2, 0, inArray2.get_Length());

다음 코드 예제에서는 TransformFinalBlock 메서드만 사용하여 문자열을 해시하는 방법을 보여 줍니다.

// Use TransformFinalBlock to hash a string.
byte[] inArray = new ASCIIEncoding().GetBytes("abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformFinalBlock(inArray, 0, 26);
// Use TransformFinalBlock to hash a string.
array<Byte>^inArray = (gcnew ASCIIEncoding)->GetBytes( L"abcdefghijklmnopqrstuvwxyz" );
MD5CryptoServiceProvider^ md5 = gcnew MD5CryptoServiceProvider;
md5->TransformFinalBlock( inArray, 0, 26 );
// Use TransformFinalBlock to hash a string.
ubyte inArray[] = (new ASCIIEncoding()).GetBytes(
    "abcdefghijklmnopqrstuvwxyz");
MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider();
md5.TransformFinalBlock(inArray, 0, 26);

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0에서 지원

참고 항목

참조

HashAlgorithm 클래스
HashAlgorithm 멤버
System.Security.Cryptography 네임스페이스

기타 리소스

암호화 서비스