SHA256Managed Klasa

Definicja

Uwaga

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

SHA256 Oblicza skrót danych wejściowych przy użyciu biblioteki zarządzanej.

public ref class SHA256Managed sealed : System::Security::Cryptography::SHA256
public ref 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 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
[<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
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
Dziedziczenie
SHA256Managed
Atrybuty

Przykłady

Poniższy przykład oblicza skrót SHA-256 dla wszystkich plików w katalogu.

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

Uwagi

Skrót jest używany jako unikatowa wartość o stałym rozmiarze reprezentującym dużą ilość danych. Skróty dwóch zestawów danych powinny być zgodne, jeśli i tylko wtedy, gdy odpowiednie dane również są zgodne. Małe zmiany w danych powodują duże nieprzewidywalne zmiany skrótu.

Rozmiar skrótu algorytmu SHA256Managed to 256 bitów.

Konstruktory

Nazwa Opis
SHA256Managed()
Przestarzałe.

Inicjuje nowe wystąpienie SHA256Managed klasy przy użyciu biblioteki zarządzanej.

Pola

Nazwa Opis
HashSizeInBits
Przestarzałe.

Rozmiar skrótu generowany przez algorytm SHA-256 w bitach.

(Odziedziczone po SHA256)
HashSizeInBytes
Przestarzałe.

Rozmiar skrótu generowany przez algorytm SHA-256 w bajtach.

(Odziedziczone po SHA256)
HashSizeValue
Przestarzałe.

Reprezentuje rozmiar w bitach obliczonego kodu skrótu.

(Odziedziczone po HashAlgorithm)
HashValue
Przestarzałe.

Reprezentuje wartość obliczonego kodu skrótu.

(Odziedziczone po HashAlgorithm)
State
Przestarzałe.

Reprezentuje stan obliczeń skrótu.

(Odziedziczone po HashAlgorithm)

Właściwości

Nazwa Opis
CanReuseTransform
Przestarzałe.

Pobiera wartość wskazującą, czy można ponownie użyć bieżącej transformacji.

(Odziedziczone po HashAlgorithm)
CanTransformMultipleBlocks
Przestarzałe.

Po zastąpieniu w klasie pochodnej pobiera wartość wskazującą, czy można przekształcić wiele bloków.

(Odziedziczone po HashAlgorithm)
Hash
Przestarzałe.

Pobiera wartość obliczonego kodu skrótu.

(Odziedziczone po HashAlgorithm)
HashSize
Przestarzałe.

Pobiera rozmiar w bitach obliczonego kodu skrótu.

(Odziedziczone po HashAlgorithm)
InputBlockSize
Przestarzałe.

Po zastąpieniu w klasie pochodnej pobiera rozmiar bloku wejściowego.

(Odziedziczone po HashAlgorithm)
OutputBlockSize
Przestarzałe.

Po zastąpieniu w klasie pochodnej pobiera rozmiar bloku wyjściowego.

(Odziedziczone po HashAlgorithm)

Metody

Nazwa Opis
Clear()
Przestarzałe.

Zwalnia wszystkie zasoby używane przez klasę HashAlgorithm.

(Odziedziczone po HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)
Przestarzałe.

Oblicza wartość skrótu dla określonego regionu określonej tablicy bajtów.

(Odziedziczone po HashAlgorithm)
ComputeHash(Byte[])
Przestarzałe.

Oblicza wartość skrótu dla określonej tablicy bajtów.

(Odziedziczone po HashAlgorithm)
ComputeHash(Stream)
Przestarzałe.

Oblicza wartość skrótu dla określonego Stream obiektu.

(Odziedziczone po HashAlgorithm)
ComputeHashAsync(Stream, CancellationToken)
Przestarzałe.

Asynchronicznie oblicza wartość skrótu dla określonego Stream obiektu.

(Odziedziczone po HashAlgorithm)
Dispose()
Przestarzałe.

Zwalnia wszystkie zasoby używane przez bieżące wystąpienie HashAlgorithm klasy.

(Odziedziczone po HashAlgorithm)
Dispose(Boolean)
Przestarzałe.

Zwalnia niezarządzane zasoby używane przez SHA256Managed obiekt i opcjonalnie zwalnia zarządzane zasoby.

Dispose(Boolean)
Przestarzałe.

Zwalnia niezarządzane zasoby używane przez HashAlgorithm program i opcjonalnie zwalnia zarządzane zasoby.

(Odziedziczone po HashAlgorithm)
Equals(Object)
Przestarzałe.

Określa, czy określony obiekt jest równy bieżącemu obiektowi.

(Odziedziczone po Object)
GetHashCode()
Przestarzałe.

Służy jako domyślna funkcja skrótu.

(Odziedziczone po Object)
GetType()
Przestarzałe.

Pobiera Type bieżącego wystąpienia.

(Odziedziczone po Object)
HashCore(Byte[], Int32, Int32)
Przestarzałe.

Po zastąpieniu w klasie pochodnej kieruje dane zapisywane do obiektu w SHA256 algorytmie skrótu na potrzeby obliczania skrótu.

HashCore(Byte[], Int32, Int32)
Przestarzałe.

Po zastąpieniu w klasie pochodnej kieruje dane zapisywane do obiektu w algorytmie skrótu na potrzeby obliczania skrótu.

(Odziedziczone po HashAlgorithm)
HashCore(ReadOnlySpan<Byte>)
Przestarzałe.

Kieruje dane zapisywane do obiektu w algorytmie skrótu do obliczania skrótu.

(Odziedziczone po HashAlgorithm)
HashFinal()
Przestarzałe.

Po zastąpieniu w klasie pochodnej finalizuje obliczenia skrótu po przetworzeniu ostatnich danych przez obiekt strumienia kryptograficznego.

HashFinal()
Przestarzałe.

Po zastąpieniu w klasie pochodnej finalizuje obliczenia skrótu po przetworzeniu ostatnich danych przez algorytm skrótu kryptograficznego.

(Odziedziczone po HashAlgorithm)
Initialize()
Przestarzałe.

Inicjuje wystąpienie klasy SHA256Managed.

MemberwiseClone()
Przestarzałe.

Tworzy płytkią kopię bieżącego Object.

(Odziedziczone po Object)
ToString()
Przestarzałe.

Zwraca ciąg reprezentujący bieżący obiekt.

(Odziedziczone po Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)
Przestarzałe.

Oblicza wartość skrótu dla określonego regionu tablicy bajtów wejściowych i kopiuje określony region tablicy bajtów wejściowych do określonego regionu tablicy bajtów wyjściowych.

(Odziedziczone po HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)
Przestarzałe.

Oblicza wartość skrótu dla określonego regionu określonej tablicy bajtów.

(Odziedziczone po HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)
Przestarzałe.

Próbuje obliczyć wartość skrótu dla określonej tablicy bajtów.

(Odziedziczone po HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)
Przestarzałe.

Próbuje sfinalizować obliczenia skrótu po przetworzeniu ostatnich danych przez algorytm skrótu.

(Odziedziczone po HashAlgorithm)

Jawne implementacje interfejsu

Nazwa Opis
IDisposable.Dispose()
Przestarzałe.

Zwalnia niezarządzane zasoby używane przez HashAlgorithm program i opcjonalnie zwalnia zarządzane zasoby.

(Odziedziczone po HashAlgorithm)

Dotyczy

Zobacz też