Bagikan melalui


SHA256Managed Kelas

Definisi

Perhatian

Derived cryptographic types are obsolete. Use the Create method on the base type instead.

SHA256 Menghitung hash untuk data input menggunakan pustaka terkelola.

public ref class SHA256Managed sealed : System::Security::Cryptography::SHA256
public ref class SHA256Managed : System::Security::Cryptography::SHA256
public sealed class SHA256Managed : System.Security.Cryptography.SHA256
[System.Obsolete("Derived cryptographic types are obsolete. Use the Create method on the base type instead.", DiagnosticId="SYSLIB0021", UrlFormat="https://aka.ms/dotnet-warnings/{0}")]
public sealed class SHA256Managed : System.Security.Cryptography.SHA256
public class SHA256Managed : System.Security.Cryptography.SHA256
[System.Runtime.InteropServices.ComVisible(true)]
public class SHA256Managed : System.Security.Cryptography.SHA256
type SHA256Managed = class
    inherit SHA256
[<System.Obsolete("Derived cryptographic types are obsolete. Use the Create method on the base type instead.", DiagnosticId="SYSLIB0021", UrlFormat="https://aka.ms/dotnet-warnings/{0}")>]
type SHA256Managed = class
    inherit SHA256
[<System.Runtime.InteropServices.ComVisible(true)>]
type SHA256Managed = class
    inherit SHA256
Public NotInheritable Class SHA256Managed
Inherits SHA256
Public Class SHA256Managed
Inherits SHA256
Warisan
SHA256Managed
Atribut

Contoh

Contoh berikut menghitung hash SHA-256 untuk semua file dalam direktori.

using namespace System;
using namespace System::IO;
using namespace System::Security::Cryptography;

// Print the byte array in a readable format.
void PrintByteArray( array<Byte>^array )
{
   int i;
   for ( i = 0; i < array->Length; i++ )
   {
      Console::Write( String::Format( "{0:X2}", array[ i ] ) );
      if ( (i % 4) == 3 )
            Console::Write( " " );

   }
   Console::WriteLine();
}

int main()
{
   array<String^>^args = Environment::GetCommandLineArgs();
   if ( args->Length < 2 )
   {
      Console::WriteLine( "Usage: hashdir <directory>" );
      return 0;
   }

   try
   {

      // Create a DirectoryInfo object representing the specified directory.
      DirectoryInfo^ dir = gcnew DirectoryInfo( args[ 1 ] );

      // Get the FileInfo objects for every file in the directory.
      array<FileInfo^>^files = dir->GetFiles();

      // Initialize a SHA256 hash object.
      SHA256 ^ mySHA256 = SHA256Managed::Create();
      array<Byte>^hashValue;

      // Compute and print the hash values for each file in directory.
      System::Collections::IEnumerator^ myEnum = files->GetEnumerator();
      while ( myEnum->MoveNext() )
      {
         FileInfo^ fInfo = safe_cast<FileInfo^>(myEnum->Current);

         // Create a fileStream for the file.
         FileStream^ fileStream = fInfo->Open( FileMode::Open );

         // Compute the hash of the fileStream.
         hashValue = mySHA256->ComputeHash( fileStream );

         // Write the name of the file to the Console.
         Console::Write( "{0}: ", fInfo->Name );

         // Write the hash value to the Console.
         PrintByteArray( hashValue );

         // Close the file.
         fileStream->Close();
      }
      return 0;
   }
   catch ( DirectoryNotFoundException^ ) 
   {
      Console::WriteLine( "Error: The directory specified could not be found." );
   }
   catch ( IOException^ ) 
   {
      Console::WriteLine( "Error: A file in the directory could not be accessed." );
   }

}
using System;
using System.IO;
using System.Security.Cryptography;

public class HashDirectory
{
    public static void Main(string[] args)
    {
        if (args.Length < 1)
        {
            Console.WriteLine("No directory selected.");
            return;
        }

        string directory = args[0];
        if (Directory.Exists(directory))
        {
            // Create a DirectoryInfo object representing the specified directory.
            var dir = new DirectoryInfo(directory);
            // Get the FileInfo objects for every file in the directory.
            FileInfo[] files = dir.GetFiles();
            // Initialize a SHA256 hash object.
            using (SHA256 mySHA256 = SHA256.Create())
            {
                // Compute and print the hash values for each file in directory.
                foreach (FileInfo fInfo in files)
                {
                    using (FileStream fileStream = fInfo.Open(FileMode.Open))
                    {
                        try
                        {
                            // Create a fileStream for the file.
                            // Be sure it's positioned to the beginning of the stream.
                            fileStream.Position = 0;
                            // Compute the hash of the fileStream.
                            byte[] hashValue = mySHA256.ComputeHash(fileStream);
                            // Write the name and hash value of the file to the console.
                            Console.Write($"{fInfo.Name}: ");
                            PrintByteArray(hashValue);
                        }
                        catch (IOException e)
                        {
                            Console.WriteLine($"I/O Exception: {e.Message}");
                        }
                        catch (UnauthorizedAccessException e)
                        {
                            Console.WriteLine($"Access Exception: {e.Message}");
                        }
                    }
                }
            }
        }
        else
        {
            Console.WriteLine("The directory specified could not be found.");
        }
    }

    // Display the byte array in a readable format.
    public static void PrintByteArray(byte[] array)
    {
        for (int i = 0; i < array.Length; i++)
        {
            Console.Write($"{array[i]:X2}");
            if ((i % 4) == 3) Console.Write(" ");
        }
        Console.WriteLine();
    }
}
Imports System.IO
Imports System.Security.Cryptography

Public Module HashDirectory

    Public Sub Main(ByVal args() As String)
        If args.Length < 1 Then
            Console.WriteLine("No directory selected")
            Return
        End If

        Dim targetDirectory As String = args(0)
        If Directory.Exists(targetDirectory) Then
            ' Create a DirectoryInfo object representing the specified directory.
            Dim dir As New DirectoryInfo(targetDirectory)
            ' Get the FileInfo objects for every file in the directory.
            Dim files As FileInfo() = dir.GetFiles()
            ' Initialize a SHA256 hash object.
            Using mySHA256 As SHA256 = SHA256.Create()
                ' Compute and print the hash values for each file in directory.
                For Each fInfo  As FileInfo In files
                    Try
                        ' Create a fileStream for the file.
                        Dim fileStream = fInfo.Open(FileMode.Open)
                        ' Be sure it's positioned to the beginning of the stream.
                        fileStream.Position = 0
                        ' Compute the hash of the fileStream.
                        Dim hashValue() As Byte = mySHA256.ComputeHash(fileStream)
                        ' Write the name of the file to the Console.
                        Console.Write(fInfo.Name + ": ")
                        ' Write the hash value to the Console.
                        PrintByteArray(hashValue)
                        ' Close the file.
                        fileStream.Close()
                    Catch e As IOException
                        Console.WriteLine($"I/O Exception: {e.Message}")
                    Catch e As UnauthorizedAccessException 
                        Console.WriteLine($"Access Exception: {e.Message}")
                    End Try    
                Next 
            End Using
        Else
           Console.WriteLine("The directory specified could not be found.")
        End If
    End Sub

    ' Print the byte array in a readable format.
    Public Sub PrintByteArray(array() As Byte)
        For i As Integer = 0 To array.Length - 1
            Console.Write($"{array(i):X2}")
            If i Mod 4 = 3 Then
                Console.Write(" ")
            End If
        Next 
        Console.WriteLine()

    End Sub 
End Module

Keterangan

Hash digunakan sebagai nilai unik dari ukuran tetap yang mewakili sejumlah besar data. Hash dua set data harus cocok jika dan hanya jika data yang sesuai juga cocok. Perubahan kecil pada data mengakibatkan perubahan besar yang tidak dapat diprediksi dalam hash.

Ukuran hash untuk SHA256Managed algoritma adalah 256 bit.

Konstruktor

SHA256Managed()
Kedaluwarsa.

Menginisialisasi instans SHA256Managed baru kelas menggunakan pustaka terkelola.

Bidang

HashSizeInBits
Kedaluwarsa.

Ukuran hash yang dihasilkan oleh algoritma SHA256, dalam bit.

(Diperoleh dari SHA256)
HashSizeInBytes
Kedaluwarsa.

Ukuran hash yang dihasilkan oleh algoritma SHA256, dalam byte.

(Diperoleh dari SHA256)
HashSizeValue
Kedaluwarsa.

Mewakili ukuran, dalam bit, dari kode hash komputasi.

(Diperoleh dari HashAlgorithm)
HashValue
Kedaluwarsa.

Mewakili nilai kode hash yang dihitung.

(Diperoleh dari HashAlgorithm)
State
Kedaluwarsa.

Mewakili status komputasi hash.

(Diperoleh dari HashAlgorithm)

Properti

CanReuseTransform
Kedaluwarsa.

Mendapatkan nilai yang menunjukkan apakah transformasi saat ini dapat digunakan kembali.

(Diperoleh dari HashAlgorithm)
CanTransformMultipleBlocks
Kedaluwarsa.

Ketika ditimpa di kelas turunan, mendapatkan nilai yang menunjukkan apakah beberapa blok dapat diubah.

(Diperoleh dari HashAlgorithm)
Hash
Kedaluwarsa.

Mendapatkan nilai kode hash komputasi.

(Diperoleh dari HashAlgorithm)
HashSize
Kedaluwarsa.

Mendapatkan ukuran, dalam bit, dari kode hash komputasi.

(Diperoleh dari HashAlgorithm)
InputBlockSize
Kedaluwarsa.

Ketika ditimpa di kelas turunan, mendapatkan ukuran blok input.

(Diperoleh dari HashAlgorithm)
OutputBlockSize
Kedaluwarsa.

Ketika ditimpa di kelas turunan, mendapatkan ukuran blok output.

(Diperoleh dari HashAlgorithm)

Metode

Clear()
Kedaluwarsa.

Merilis semua sumber daya yang HashAlgorithm digunakan oleh kelas .

(Diperoleh dari HashAlgorithm)
ComputeHash(Byte[])
Kedaluwarsa.

Menghitung nilai hash untuk array byte yang ditentukan.

(Diperoleh dari HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)
Kedaluwarsa.

Menghitung nilai hash untuk wilayah yang ditentukan dari array byte yang ditentukan.

(Diperoleh dari HashAlgorithm)
ComputeHash(Stream)
Kedaluwarsa.

Menghitung nilai hash untuk objek yang ditentukan Stream .

(Diperoleh dari HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)
Kedaluwarsa.

Secara asinkron menghitung nilai hash untuk objek yang ditentukan Stream .

(Diperoleh dari HashAlgorithm)
Dispose()
Kedaluwarsa.

Merilis semua sumber daya yang digunakan oleh instans HashAlgorithm kelas saat ini.

(Diperoleh dari HashAlgorithm)
Dispose(Boolean)
Kedaluwarsa.

Merilis sumber daya yang tidak dikelola yang digunakan oleh SHA256Managed objek dan secara opsional merilis sumber daya terkelola.

Dispose(Boolean)
Kedaluwarsa.

Merilis sumber daya tidak terkelola yang HashAlgorithm digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari HashAlgorithm)
Equals(Object)
Kedaluwarsa.

Menentukan apakah objek yang ditentukan sama dengan objek saat ini.

(Diperoleh dari Object)
GetHashCode()
Kedaluwarsa.

Berfungsi sebagai fungsi hash default.

(Diperoleh dari Object)
GetType()
Kedaluwarsa.

Mendapatkan instans Type saat ini.

(Diperoleh dari Object)
HashCore(Byte[], Int32, Int32)
Kedaluwarsa.

Ketika ditimpa di kelas turunan, merutekan data yang ditulis ke objek ke dalam SHA256 algoritma hash untuk menghitung hash.

HashCore(Byte[], Int32, Int32)
Kedaluwarsa.

Ketika ditimpa di kelas turunan, merutekan data yang ditulis ke objek ke dalam algoritma hash untuk menghitung hash.

(Diperoleh dari HashAlgorithm)
HashCore(ReadOnlySpan<Byte>)
Kedaluwarsa.

Merutekan data yang ditulis ke objek ke dalam algoritma hash untuk menghitung hash.

(Diperoleh dari HashAlgorithm)
HashFinal()
Kedaluwarsa.

Ketika ditimpa dalam kelas turunan, menyelesaikan komputasi hash setelah data terakhir diproses oleh objek aliran kriptografi.

HashFinal()
Kedaluwarsa.

Ketika ditimpa di kelas turunan, menyelesaikan komputasi hash setelah data terakhir diproses oleh algoritma hash kriptografi.

(Diperoleh dari HashAlgorithm)
Initialize()
Kedaluwarsa.

Menginisialisasi instans SHA256Managed.

MemberwiseClone()
Kedaluwarsa.

Membuat salinan dangkal dari yang saat ini Object.

(Diperoleh dari Object)
ToString()
Kedaluwarsa.

Mengembalikan string yang mewakili objek saat ini.

(Diperoleh dari Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)
Kedaluwarsa.

Menghitung nilai hash untuk wilayah yang ditentukan dari array byte input dan menyalin wilayah yang ditentukan dari array byte input ke wilayah yang ditentukan dari array byte output.

(Diperoleh dari HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)
Kedaluwarsa.

Menghitung nilai hash untuk wilayah yang ditentukan dari array byte yang ditentukan.

(Diperoleh dari HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)
Kedaluwarsa.

Mencoba menghitung nilai hash untuk array byte yang ditentukan.

(Diperoleh dari HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)
Kedaluwarsa.

Upaya untuk menyelesaikan komputasi hash setelah data terakhir diproses oleh algoritma hash.

(Diperoleh dari HashAlgorithm)

Implementasi Antarmuka Eksplisit

IDisposable.Dispose()
Kedaluwarsa.

Merilis sumber daya tidak terkelola yang HashAlgorithm digunakan oleh dan secara opsional merilis sumber daya terkelola.

(Diperoleh dari HashAlgorithm)

Berlaku untuk

Lihat juga