.NET 8 introduce il supporto all'algoritmo di hashing SHA-3. Le classi che permettono di sfruttare questo algoritmo sono SHA3_256, SHA3_384 e SHA3_512 e sono tutte contenute nel namespace System.Security.Cryptography. Il loro utilizzo è molto semplice in quanto basta utilizzare il metodo statico HashData passando in input i dati da cui estrarre l'hash, sotto forma di array di byte o di stream.
var hash = SHA3_256.HashData("DataTohash"u8);
Occorre tenere a mente che .NET si appoggia al sistema operativo per effettuare l'hahsing, quindi prima di usare questo algoritmo dobbiamo essere sicuri che sia supportato dal sistema operativo. Al momento della scrittura di questo script, SHA-3 è supportato su Linux con OpenSSL 1.1.1 e successivi e su Windows 11 Build 25324 e succesive. Per verificare se l'algoritmo è supportato dal sistema operativo abbiamo a disposizione la proprietà statica IsSupported.
string hash; if (SHA3_256.IsSupported) { hash = SHA3_256.HashData("DataTohash"u8); } else { hash = SHA256.HashData("DataTohash"u8); }
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Referenziare un @layer più alto in CSS
Usare i settings di serializzazione/deserializzazione di System.Text.Json di ASP.NET all'interno di un'applicazione non web
Bloccare l'esecuzione di un pod in mancanza di un'artifact attestation di GitHub
Aprire una finestra di dialogo per selezionare una directory in WPF e .NET 8
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Generare velocemente pagine CRUD in Blazor con QuickGrid
Introduzione ai web component HTML
Utilizzare gRPC su App Service di Azure
Generare la software bill of material (SBOM) in GitHub
Eseguire query per recuperare il padre di un record che sfrutta il tipo HierarchyID in Entity Framework
Path addizionali per gli asset in ASP.NET Core MVC
Ottimizzare le performance usando Span<T> e il metodo Split
I più letti di oggi
- Validazione automatica dei parametri in Web API con ASP.NET Core 2.1
- Recuperare i file utilizzati di recente in un'Universal App
- Applicare un'animazione al contenuto di un ContentControl nella Universal Windows Platform
- AI&ML Conference 2019 - Milano
- .NET Serverless Day - Online
- Rilasciata la versione Beta 2 di Silverlight 2.0