SHA256Managed Osztály

Definíció

Kiszámítja a SHA256 bemeneti adatok kivonatát a felügyelt kódtár használatával.

public ref class SHA256Managed : System::Security::Cryptography::SHA256
public ref class SHA256Managed sealed : System::Security::Cryptography::SHA256
public class SHA256Managed : System.Security.Cryptography.SHA256
[System.Runtime.InteropServices.ComVisible(true)]
public class SHA256Managed : System.Security.Cryptography.SHA256
public sealed class SHA256Managed : System.Security.Cryptography.SHA256
type SHA256Managed = class
    inherit SHA256
[<System.Runtime.InteropServices.ComVisible(true)>]
type SHA256Managed = class
    inherit SHA256
Public Class SHA256Managed
Inherits SHA256
Public NotInheritable Class SHA256Managed
Inherits SHA256
Öröklődés
SHA256Managed
Attribútumok

Példák

Az alábbi példa kiszámítja az SHA-256 kivonatot egy könyvtár összes fájlja esetében.

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

Megjegyzések

A kivonatot a rendszer rögzített méretű egyedi értékként használja, amely nagy mennyiségű adatot jelöl. Két adatkészlet kivonatainak akkor és csak akkor kell egyeznie, ha a megfelelő adatok is egyeznek. Az adatok kis módosítása nagy, előre nem látható változásokat eredményez a kivonatban.

Az algoritmus kivonatmérete SHA256Managed 256 bit.

Konstruktorok

Name Description
SHA256Managed()

Inicializálja az osztály új példányát SHA256Managed a felügyelt kódtár használatával.

Mezők

Name Description
HashSizeValue

A kiszámított kivonatkód bitben megadott méretét jelöli.

(Öröklődés forrása HashAlgorithm)
HashValue

A kiszámított kivonatkód értékét jelöli.

(Öröklődés forrása HashAlgorithm)
State

A kivonatszámítás állapotát jelöli.

(Öröklődés forrása HashAlgorithm)

Tulajdonságok

Name Description
CanReuseTransform

Egy értéket kap, amely jelzi, hogy az aktuális átalakítás újra felhasználható-e.

(Öröklődés forrása HashAlgorithm)
CanTransformMultipleBlocks

Ha egy származtatott osztályban felül van bírálva, egy értéket kap, amely jelzi, hogy több blokk is átalakítható-e.

(Öröklődés forrása HashAlgorithm)
Hash

Lekéri a kiszámított kivonatkód értékét.

(Öröklődés forrása HashAlgorithm)
HashSize

Bitekben lekéri a kiszámított kivonatkód méretét.

(Öröklődés forrása HashAlgorithm)
InputBlockSize

Ha felül van bírálva egy származtatott osztályban, lekéri a bemeneti blokk méretét.

(Öröklődés forrása HashAlgorithm)
OutputBlockSize

Ha felül van bírálva egy származtatott osztályban, lekéri a kimeneti blokk méretét.

(Öröklődés forrása HashAlgorithm)

Metódusok

Name Description
Clear()

Az osztály által HashAlgorithm használt összes erőforrást felszabadítja.

(Öröklődés forrása HashAlgorithm)
ComputeHash(Byte[], Int32, Int32)

Kiszámítja a megadott bájttömb megadott régiójának kivonatértékét.

(Öröklődés forrása HashAlgorithm)
ComputeHash(Byte[])

Kiszámítja a megadott bájttömb kivonatértékét.

(Öröklődés forrása HashAlgorithm)
ComputeHash(Stream)

Kiszámítja a megadott Stream objektum kivonatértékét.

(Öröklődés forrása HashAlgorithm)
Dispose()

Az osztály aktuális példánya által használt összes erőforrást felszabadítja HashAlgorithm .

(Öröklődés forrása HashAlgorithm)
Dispose(Boolean)

Felszabadítja az SHA256Managed objektum által használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

Dispose(Boolean)

Felszabadítja a felügyelt erőforrások által HashAlgorithm használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása HashAlgorithm)
Equals(Object)

Meghatározza, hogy a megadott objektum egyenlő-e az aktuális objektummal.

(Öröklődés forrása Object)
GetHashCode()

Ez az alapértelmezett kivonatoló függvény.

(Öröklődés forrása Object)
GetType()

Lekéri az Type aktuális példányt.

(Öröklődés forrása Object)
HashCore(Byte[], Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, az objektumba írt adatokat a SHA256 kivonatolási algoritmusba irányítja.

HashCore(Byte[], Int32, Int32)

Ha egy származtatott osztályban felül van bírálva, az objektumba írt adatokat a kivonatolási algoritmusba irányítja.

(Öröklődés forrása HashAlgorithm)
HashCore(ReadOnlySpan<Byte>)

Átirányítja az objektumra írt adatokat a kivonatoló algoritmusba a kivonat kiszámításához.

(Öröklődés forrása HashAlgorithm)
HashFinal()

Származtatott osztályban felülbírálás esetén véglegesíti a kivonatszámítást, miután az utolsó adatokat a titkosítási adatfolyam objektuma feldolgozta.

HashFinal()

Ha egy származtatott osztályban felülbírálja, véglegesíti a kivonatszámítást, miután a titkosítási kivonatoló algoritmus feldolgozta az utolsó adatokat.

(Öröklődés forrása HashAlgorithm)
Initialize()

Inicializálja a példányt SHA256Managed.

MemberwiseClone()

Az aktuális Objectpéldány sekély másolatát hozza létre.

(Öröklődés forrása Object)
ToString()

Az aktuális objektumot jelképező sztringet ad vissza.

(Öröklődés forrása Object)
TransformBlock(Byte[], Int32, Int32, Byte[], Int32)

Kiszámítja a bemeneti bájttömb megadott régiójának kivonatértékét, és átmásolja a bemeneti bájttömb megadott régióját a kimeneti bájttömb megadott régiójába.

(Öröklődés forrása HashAlgorithm)
TransformFinalBlock(Byte[], Int32, Int32)

Kiszámítja a megadott bájttömb megadott régiójának kivonatértékét.

(Öröklődés forrása HashAlgorithm)
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32)

Megkísérli kiszámítani a megadott bájttömb kivonatértékét.

(Öröklődés forrása HashAlgorithm)
TryHashFinal(Span<Byte>, Int32)

A kivonatszámítás véglegesítésére tett kísérletek, miután a kivonatoló algoritmus feldolgozta az utolsó adatokat.

(Öröklődés forrása HashAlgorithm)

Explicit interfész-implementációk

Name Description
IDisposable.Dispose()

Felszabadítja a felügyelt erőforrások által HashAlgorithm használt nem felügyelt erőforrásokat, és opcionálisan felszabadítja a felügyelt erőforrásokat.

(Öröklődés forrása HashAlgorithm)

A következőre érvényes:

Lásd még