As the title suggests, this project is very much a work in progress
(WIP). The project is an attempt to create a
wrapper library for the Argon2 C library.
With that being said, this repo should NOT be used as a means for a viable C# Argon2 library at this time. Please refer to the Packaging / Usage for more details on project usage.
Credit and appropriate licenses for original sources of the Argon2 C library shall be included within the repo, as well as top level comments for files where needed / appropriate. The Argon2 C library source code license in this repo can be found here Argon2 License.
Binaries are compiled from Argon2 source - branch: master
-
commit: f57e61e19229e23c
Checkout this handy writeup for how to compile the Argon2 source code for your platform
Head over to this doc for how to build and run this projects solution
At this time, this project serves as a vessel for learning and experimenting in the world of C# to C Bindings, and Platform Invocation (PInvoke) + Interoperability. As such, for now, there are no plans for releasing a publicly available / usable Nuget package for the library.
Depending on the functionality and development of this project, this repo may be scrapped and rebuilt, where the new project may have a Nuget package released.
- Argon2 Hash Generator & Verifier
- GCC online documentation
- GCC and Makefiles
- Differences between windows build files
- Understanding and Using Makefile Flags
- .NET Runtime Identififers
- .NET Platform Invoke (P/Invoke)
- .NET Native interoperability best practices
- Mono Interop with Native Libraries
- Cross compiling for arm or aarch64 on Debian or Ubuntu