SHA256Managed Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Cuidado
Derived cryptographic types are obsolete. Use the Create method on the base type instead.
Calcula o hash SHA256 para os dados de entrada usando a biblioteca gerenciada.
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
- Herança
- Atributos
Exemplos
O exemplo a seguir calcula o hash SHA-256 para todos os arquivos em um diretório.
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
Comentários
O hash é usado como um valor exclusivo de tamanho fixo que representa uma grande quantidade de dados. Os hashes de dois conjuntos de dados devem corresponder se e somente se os dados correspondentes também corresponderem. Pequenas alterações nos dados resultam em grandes alterações imprevisíveis no hash.
O tamanho do hash para o SHA256Managed algoritmo é de 256 bits.
Construtores
SHA256Managed() |
Obsoleto.
Inicializa uma nova instância da classe SHA256Managed usando a biblioteca gerenciada. |
Campos
HashSizeInBits |
Obsoleto.
O tamanho do hash produzido pelo algoritmo SHA256, em bits. (Herdado de SHA256) |
HashSizeInBytes |
Obsoleto.
O tamanho do hash produzido pelo algoritmo SHA256, em bytes. (Herdado de SHA256) |
HashSizeValue |
Obsoleto.
Representa o tamanho, em bits, do código hash calculado. (Herdado de HashAlgorithm) |
HashValue |
Obsoleto.
Representa o valor do código hash computado. (Herdado de HashAlgorithm) |
State |
Obsoleto.
Representa o estado do cálculo de hash. (Herdado de HashAlgorithm) |
Propriedades
CanReuseTransform |
Obsoleto.
Obtém um valor que indica se a transformação atual pode ser reutilizada. (Herdado de HashAlgorithm) |
CanTransformMultipleBlocks |
Obsoleto.
Quando substituído em uma classe derivada, obtém um valor que indica se vários blocos podem ser transformados. (Herdado de HashAlgorithm) |
Hash |
Obsoleto.
Obtém o valor do código hash computado. (Herdado de HashAlgorithm) |
HashSize |
Obsoleto.
Obtém o tamanho, em bits, do código hash computado. (Herdado de HashAlgorithm) |
InputBlockSize |
Obsoleto.
Quando substituído em uma classe derivada, obtém o tamanho do bloco de entrada. (Herdado de HashAlgorithm) |
OutputBlockSize |
Obsoleto.
Quando substituído em uma classe derivada, obtém o tamanho do bloco de saída. (Herdado de HashAlgorithm) |
Métodos
Clear() |
Obsoleto.
Libera todos os recursos usados pela classe HashAlgorithm. (Herdado de HashAlgorithm) |
ComputeHash(Byte[]) |
Obsoleto.
Calcula o valor do hash da matriz de bytes especificada. (Herdado de HashAlgorithm) |
ComputeHash(Byte[], Int32, Int32) |
Obsoleto.
Calcula o valor de hash para a região especificada da matriz de bytes especificada. (Herdado de HashAlgorithm) |
ComputeHash(Stream) |
Obsoleto.
Calcula o valor do hash do objeto Stream especificado. (Herdado de HashAlgorithm) |
ComputeHashAsync(Stream, CancellationToken) |
Obsoleto.
Calcula assincronamente o valor do hash do objeto Stream especificado. (Herdado de HashAlgorithm) |
Dispose() |
Obsoleto.
Libera todos os recursos usados pela instância atual da classe HashAlgorithm. (Herdado de HashAlgorithm) |
Dispose(Boolean) |
Obsoleto.
Libera os recursos não gerenciados usados pelo objeto SHA256Managed e libera opcionalmente os recursos gerenciados. |
Dispose(Boolean) |
Obsoleto.
Libera os recursos não gerenciados usados pelo HashAlgorithm e opcionalmente libera os recursos gerenciados. (Herdado de HashAlgorithm) |
Equals(Object) |
Obsoleto.
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
GetHashCode() |
Obsoleto.
Serve como a função de hash padrão. (Herdado de Object) |
GetType() |
Obsoleto.
Obtém o Type da instância atual. (Herdado de Object) |
HashCore(Byte[], Int32, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, roteia os dados gravados no objeto para o algoritmo de hash SHA256 para computar o hash. |
HashCore(Byte[], Int32, Int32) |
Obsoleto.
Quando substituído em uma classe derivada, roteia os dados gravados no objeto para o algoritmo de hash para computar o hash. (Herdado de HashAlgorithm) |
HashCore(ReadOnlySpan<Byte>) |
Obsoleto.
Roteia os dados gravados no objeto para o algoritmo de hash para cálculo do hash. (Herdado de HashAlgorithm) |
HashFinal() |
Obsoleto.
Quando substituído em uma classe derivada, finaliza o cálculo de hash depois que os últimos dados são processados pelo objeto de fluxo criptográfico. |
HashFinal() |
Obsoleto.
Quando substituído em uma classe derivada, finaliza o cálculo de hash depois que os últimos dados são processados pelo algoritmo de hash de criptografia. (Herdado de HashAlgorithm) |
Initialize() |
Obsoleto.
Inicializa uma instância de SHA256Managed. |
MemberwiseClone() |
Obsoleto.
Cria uma cópia superficial do Object atual. (Herdado de Object) |
ToString() |
Obsoleto.
Retorna uma cadeia de caracteres que representa o objeto atual. (Herdado de Object) |
TransformBlock(Byte[], Int32, Int32, Byte[], Int32) |
Obsoleto.
Calcula o valor de hash para a região especificada da matriz de bytes de entrada e copia a região especificada da matriz de bytes de entrada para a região especificada da matriz de bytes de saída. (Herdado de HashAlgorithm) |
TransformFinalBlock(Byte[], Int32, Int32) |
Obsoleto.
Calcula o valor de hash para a região especificada da matriz de bytes especificada. (Herdado de HashAlgorithm) |
TryComputeHash(ReadOnlySpan<Byte>, Span<Byte>, Int32) |
Obsoleto.
Tenta calcular o valor de hash para a matriz de bytes especificada. (Herdado de HashAlgorithm) |
TryHashFinal(Span<Byte>, Int32) |
Obsoleto.
Tenta finalizar o cálculo de hash depois que os últimos dados são processados pelo algoritmo de hash. (Herdado de HashAlgorithm) |
Implantações explícitas de interface
IDisposable.Dispose() |
Obsoleto.
Libera os recursos não gerenciados usados pelo HashAlgorithm e opcionalmente libera os recursos gerenciados. (Herdado de HashAlgorithm) |