CryptographicHash Class

再利用可能なハッシュ オブジェクトを表します。ハッシュ操作の結果を含みます。

構文


var cryptographicHash = createHash();

属性

[DualApiPartition()]
[MarshalingBehavior(Agile)]
[Version(0x06020000)]

メンバー

CryptographicHashクラス には次の種類のメンバーがあります。

メソッド

The CryptographicHash クラス には次のメソッドがあります。 With C#、Visual Basic、および C++ では、以下からもメソッドが継承されます。Object クラス.

メソッド説明
Append Appends a binary encoded string to the data stored in the CryptographicHash object.
GetValueAndReset Gets hashed data from the CryptographicHash object and resets the object.

 

解説

HashAlgorithmProvider オブジェクトで CreateHash メソッドを呼び出して、CryptographicHash オブジェクトを作成します。次のいずれかのアルゴリズム名を持つハッシュ アルゴリズム プロバイダーを名前ごとに開くことができます。

  • MD5
  • SHA1
  • SHA256
  • SHA384
  • SHA512


public void SampleReusableHash()
{
    // Create a string that contains the name of the hashing algorithm to use.
    String strAlgName = HashAlgorithmNames.Sha512;

    // Create a HashAlgorithmProvider object.
    HashAlgorithmProvider objAlgProv = HashAlgorithmProvider.OpenAlgorithm(strAlgName);

    // Create a CryptographicHash object. This object can be reused to continually
    // hash new messages.
    CryptographicHash objHash = objAlgProv.CreateHash();

    // Hash message 1.
    String strMsg1 = "This is message 1.";
    IBuffer buffMsg1 = CryptographicBuffer.ConvertStringToBinary(strMsg1, BinaryStringEncoding.Utf16BE);
    objHash.Append(buffMsg1);
    IBuffer buffHash1 = objHash.GetValueAndReset();

    // Hash message 2.
    String strMsg2 = "This is message 2.";
    IBuffer buffMsg2 = CryptographicBuffer.ConvertStringToBinary(strMsg2, BinaryStringEncoding.Utf16BE);
    objHash.Append(buffMsg2);
    IBuffer buffHash2 = objHash.GetValueAndReset();

    // Hash message 3.
    String strMsg3 = "This is message 3.";
    IBuffer buffMsg3 = CryptographicBuffer.ConvertStringToBinary(strMsg3, BinaryStringEncoding.Utf16BE);
    objHash.Append(buffMsg3);
    IBuffer buffHash3 = objHash.GetValueAndReset();

    // Convert the hashes to string values (for display);
    String strHash1 = CryptographicBuffer.EncodeToBase64String(buffHash1);
    String strHash2 = CryptographicBuffer.EncodeToBase64String(buffHash2);
    String strHash3 = CryptographicBuffer.EncodeToBase64String(buffHash3);
}


要件

最小限サポートされるクライアント

Windows 8 [Windows ストア アプリ, デスクトップ アプリ]

最小限サポートされるサーバー

Windows Server 2012 [Windows ストア アプリ, デスクトップ アプリ]

名前空間

Windows.Security.Cryptography.Core
Windows::Security::Cryptography::Core [C++]

メタデータ

Windows.winmd

参照

HashAlgorithmProvider
CreateHash

 

 

表示:
© 2014 Microsoft