A multi-arch library implementing the Argon2 password hashing algorithm.
This project is based on the original source code by the Argon2 authors. The goal of this project is to provide efficient Argon2 implementations for various HW architectures (x86, SSE, ARM, PowerPC, ...).
For the x86_64 architecture, the library implements a simple CPU dispatch which automatically selects the best implementation based on CPU flags and quick benchmarks.
To prepare the build environment, run:
cmake -DCMAKE_BUILD_TYPE=Release .Then you can run make to build the library.
Note: The CMake build system will autodetect the architecture options and intrinsics supported by your compiler. Auto selection of the fastest methods can be accomplished using:
argon2_select_impl(NULL, NULL);Supported architectures:
x86_64– 64-bit x86 architecture- QMake config flags:
USE_SSE2– use SSE2 instructionsUSE_SSSE3– use SSSE3 instructionsUSE_XOP– use XOP instructionsUSE_AVX2– use AVX2 instructionsUSE_AVX512F– use AVX-512F instructions
- QMake config flags:
generic– use generic C impementation