Blake2 hash for sensitive data. Uses Isopoh.Cryptography.SecureArray to assure sensitive data gets wiped from RAM and, if the operating system allows, never gets written to disk.
Get Started
| Product | Versions |
|---|---|
| .NET | |
| .NET Standard | |
| Other |
README

BLAKE2B
Argon2 uses Blake2b as a cryptographic building block. This code uses the
C# implementation of Blake2 modified from https://github.com/BLAKE2.
The main modification is that the Blake2 here uses SecureArray<T>. The SecureArray takes a SecureArrayCall
to protect potentially sensitive data. Most other modifications are
strictly cosmetic.
As part of this Blake2b port, an effort was made to speed Blake2b by using techniques like unrolling and using raw buffers in unsafe code. It turns out the CLR optimizes plain code better than unrolled/unsafe code and the original always ran faster. At some point I may try a port to System.Numerics.Vector<T>...
API GENERATION
The API Documentation at https://mheyman.github.io/Isopoh.Cryptography.Argon2 gets generated automatically upon build. This happens via a dummy C# "Doc" project that uses the DocFx NuGet package to produce the API documentation.
AUTHOR
[auth]: #author 'Credits & author's contacts info' Michael Heyman
ACKNOWLEDGMENTS
List of people and project that inspired creation of this one:
- The many contributers of the Argon2 repository
- and the cryptographers responsible for creating and testing that algorithm
- @CodesInChaos for the fully managed Blake2b implementation here
- @PurpleBooth for his readme template posted here
LICENSE
Isopoh.Cryptography.Argon2 by Michael Heyman is licensed under a Creative Commons Attribution 4.0 International License.
PRODUCTION STATUS & SUPPORT
You should be aware that this project is supported solely by me and provided as is.
Go back to the top
Downloads by Version
Similar & Alternative Packages
Hand-picked matching NuGet libraries based on tags & ecosystem
Depended On By
Find packages that declare this package as a dependency. NuGet does not provide a reverse-dependency endpoint, so candidates are checked on demand.
Adoption Assessment
Assess this package against its supported frameworks, license, maintenance signals and dependency graph before making it a project standard.
Related Guides & Workflows
Learn how to evaluate, integrate, or audit this package in your .NET project.