.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
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
Personalizzare l'errore del rate limiting middleware in ASP.NET Core
Eseguire query manipolando le liste contenute in un oggetto mappato verso una colonna JSON
Utilizzare un numero per gestire la concorrenza ottimistica con SQL Server ed Entity Framework
Evitare il flickering dei componenti nel prerender di Blazor 8
Utilizzare i primary constructor in C#
Eseguire una GroupBy per entity in Entity Framework
Gestire errori funzionali tramite exception in ASP.NET Core Web API
Miglioramenti nelle performance di Angular 16
Eseguire le GitHub Actions offline
Eseguire un metodo asincrono dopo il set di una proprietà in Blazor 8