Blake3.NET es una biblioteca para .NET que nos permite emplear hash criptográfico BLAKE3 desde una aplicación escrita en C#.
El hash Blake3 es un algoritmo de hash criptográfico moderno que diseñado para obtener un alto rendimiento y una baja probabilidad de colisiones. Resulta muy adecuado, por ejemplo, para comparar contenido de ficheros.
Blake3.NET es una wrapper alrededor de la implementación de Rust de BLAKE3, que utiliza un diseño en paralelo para aprovechar al máximo los recursos de hardware modernos, como las instrucciones SIMD.
El algoritmo de hash Blake3 produce un valor de hash de 256 bits, pero también es capaz de generar valores de hash de cualquier tamaño deseado. Esto lo convierte en una herramienta versátil y flexible para diversas aplicaciones.
Blake3.NET es compatible con .NET 5 o superior, y está disponible para Windows, Linux, y macOS, en arquitecturas x86, x64 u Arm.
Cómo usar Blake3.NET
Podemos añadir la biblioteca a un proyecto de .NET fácilmente, a través del paquete Nuget correspondiente.
Install-Package Blake3
Aquí tenéis algunos de cómo utilizar Blake3.NET extraídos de la documentación de la librería
var hash = Blake3.Hasher.Hash(Encoding.UTF8.GetBytes("BLAKE3"));
Console.WriteLine(hash);
// Prints f890484173e516bfd935ef3d22b912dc9738de38743993cfedf2c9473b3216a4
Blake3.NET es Open Source, y todo el código y documentación está disponible en el repositorio del proyecto en https://github.com/xoofx/Blake3.NET