SHA256Managed Klass
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Beräknar SHA256 hashen för indata med hjälp av det hanterade biblioteket.
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
- Arv
- Attribut
Exempel
I följande exempel beräknas SHA-256-hashen för alla filer i en katalog.
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
Kommentarer
Hashen används som ett unikt värde med fast storlek som representerar en stor mängd data. Hashvärden för två datamängder ska matcha om och endast om motsvarande data också matchar. Små ändringar i data resulterar i stora oförutsägbara ändringar i hashen.
Hash-storleken för algoritmen SHA256Managed är 256 bitar.
Konstruktorer
| Name | Description |
|---|---|
| SHA256Managed() |
Initierar en ny instans av klassen med hjälp av SHA256Managed det hanterade biblioteket. |
Fält
| Name | Description |
|---|---|
| HashSizeValue |
Representerar storleken, i bitar, på den beräknade hashkoden. (Ärvd från HashAlgorithm) |
| HashValue |
Representerar värdet för den beräknade hashkoden. (Ärvd från HashAlgorithm) |
| State |
Representerar tillståndet för hash-beräkningen. (Ärvd från HashAlgorithm) |
Egenskaper
| Name | Description |
|---|---|
| CanReuseTransform |
Hämtar ett värde som anger om den aktuella transformeringen kan återanvändas. (Ärvd från HashAlgorithm) |
| CanTransformMultipleBlocks |
När det åsidosättas i en härledd klass får du ett värde som anger om flera block kan transformeras. (Ärvd från HashAlgorithm) |
| Hash |
Hämtar värdet för den beräknade hashkoden. (Ärvd från HashAlgorithm) |
| HashSize |
Hämtar storleken, i bitar, på den beräknade hashkoden. (Ärvd från HashAlgorithm) |
| InputBlockSize |
När det åsidosättas i en härledd klass hämtar indatablockstorleken. (Ärvd från HashAlgorithm) |
| OutputBlockSize |
När det åsidosättas i en härledd klass hämtar du utdatablockets storlek. (Ärvd från HashAlgorithm) |
Metoder
| Name | Description |
|---|---|
| Clear() |
Släpper alla resurser som används av HashAlgorithm klassen. (Ärvd från HashAlgorithm) |
| ComputeHash(Byte[], Int32, Int32) |
Beräknar hash-värdet för den angivna regionen för den angivna bytematrisen. (Ärvd från HashAlgorithm) |
| ComputeHash(Byte[]) |
Beräknar hash-värdet för den angivna bytematrisen. (Ärvd från HashAlgorithm) |
| ComputeHash(Stream) |
Beräknar hash-värdet för det angivna Stream objektet. (Ärvd från HashAlgorithm) |
| Dispose() |
Släpper alla resurser som används av den aktuella instansen HashAlgorithm av klassen. (Ärvd från HashAlgorithm) |
| Dispose(Boolean) |
Släpper ohanterade resurser som används av SHA256Managed objektet och frigör eventuellt de hanterade resurserna. |
| Dispose(Boolean) |
Släpper de ohanterade resurser som används av HashAlgorithm och släpper eventuellt de hanterade resurserna. (Ärvd från HashAlgorithm) |
| Equals(Object) |
Avgör om det angivna objektet är lika med det aktuella objektet. (Ärvd från Object) |
| GetHashCode() |
Fungerar som standard-hash-funktion. (Ärvd från Object) |
| GetType() |
Hämtar den aktuella instansen Type . (Ärvd från Object) |
| HashCore(Byte[], Int32, Int32) |
När de åsidosätts i en härledd klass dirigeras data som skrivits till objektet till hash-algoritmen SHA256 för att beräkna hashen. |
| HashCore(Byte[], Int32, Int32) |
När de åsidosätts i en härledd klass dirigeras data som skrivits till objektet till hash-algoritmen för att beräkna hashen. (Ärvd från HashAlgorithm) |
| HashCore(ReadOnlySpan<Byte>) |
Dirigerar data som skrivs till objektet till hash-algoritmen för att beräkna hashen. (Ärvd från HashAlgorithm) |
| HashFinal() |
När den åsidosätts i en härledd klass slutför du hash-beräkningen efter att de senaste data bearbetas av det kryptografiska dataströmobjektet. |
| HashFinal() |
När den åsidosättas i en härledd klass slutför du hash-beräkningen efter att de senaste data har bearbetats av den kryptografiska hash-algoritmen. (Ärvd från HashAlgorithm) |
| Initialize() |
Initierar en instans av SHA256Managed. |
| MemberwiseClone() |
Skapar en ytlig kopia av den aktuella Object. (Ärvd från Object) |
| ToString() |
Returnerar en sträng som representerar det aktuella objektet. (Ärvd från Object) |
| TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Beräknar hash-värdet för den angivna regionen för indatabytematrisen och kopierar den angivna regionen för indatabytematrisen till den angivna regionen för utdatabytematrisen. (Ärvd från HashAlgorithm) |
| TransformFinalBlock(Byte[], Int32, Int32) |
Beräknar hash-värdet för den angivna regionen för den angivna bytematrisen. (Ärvd från HashAlgorithm) |
| TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Försöker beräkna hash-värdet för den angivna bytematrisen. (Ärvd från HashAlgorithm) |
| TryHashFinal(Span<Byte>, Int32) |
Försök att slutföra hash-beräkningen när de senaste data bearbetas av hash-algoritmen. (Ärvd från HashAlgorithm) |
Explicita gränssnittsimplementeringar
| Name | Description |
|---|---|
| IDisposable.Dispose() |
Släpper de ohanterade resurser som används av HashAlgorithm och släpper eventuellt de hanterade resurserna. (Ärvd från HashAlgorithm) |