alipha / csharp-argon2 Goto Github PK
View Code? Open in Web Editor NEWC#/.NET binding for the Argon2 password hash
License: Other
C#/.NET binding for the Argon2 password hash
License: Other
Hello,
When I run the code "Basic Usage" I got this error :
System.BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)
VS2017, .NET 4.5.2 on Windows 10 x64
Any idea why ?
Thanks,
When trying to delete/update the libargon2.dll file I get the following error:
"This action cant be completed because the file is open in w3wp.exe"
I have tried stopping the application pools, restarting application Pools and stopping the website but the IIS worker process will not release the libargon2.dll file in the bin directory. My only work around was to go to task manager and end task on the w3wp.exe process connected to my website.
Furthermore, I hoped I could release the lock in code by disposing of the objects that maybe using the dll, but there is no dispose method on Liphsoft.Crypto.Argon2.PasswordHasher(...) ie: it does not implement IDisposable.
A little information on my setup:
WebApi 2 Project, platform target: AnyCpu
Visual Studio Pro 2017 V 15.5.3
IIS V 10.0.16299.15
Has anyone found a good solution to removing this lock?
Unable to load DLL 'libargon2.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
Visual Studio 2012
Run Time 4.6 framework
64 bit operating system
Liphsoft.crypto.Argon2 version 1.0.5 is installed through nuget.
After installing the above mentioned version, i see only "Liphsoft.Crypto.Argon2.dll" is added to my web project and i dont see libargon2.dll added as reference.
I tried already suggested solutions in this thread but didnt worked for me.
Argon2id is the preferred variant of Argon2 since it gets the best of both side channel attack hardening and defence against time-memory trade-off attacks. Will this library be updated to support what is now considered the preferred method?
Similar to #4
The following error shows every time I try to run code with the password hashing function:
Unable to load DLL 'libargon2.dll'. The specified module could not be found. (Exception from HRESULT: 0x8007007E)
I've installed the NuGet package but can't see the libargon2.dll.
I've tried to include it manually, but the VS threw the following exception:
A reference to the 'libargon2.dll' could not be added. Please make sure that the file is accessible and that it is a valid assembly or COM component.
I tried most on the things on github about the error^ but they didn't worked for me.
The XML docs say
Do not compare two Argon2 hashes directly. Instead, use the Verify or VerifyAndUpdate methods.
Why? Does hashing the same password with the same parameters not always result in the same hash? if not, how is Argon supposed to be used as a replacement for PBKDF2?
Hi!
I know that you use proxy files for exporting Argon2 functions but argon2 does already produce mingw DLL by itself. Is is possible to use it without proxy like jvm binding does?
I would like to make an argon2 nuget package but unsure if it's possible to use argon2's dll
The reason for there being multiple parameters is that you can use argon2 to your liking and security needs.
What the argon2 spec recommends is to use the default memory value but also find out how many iterations are needed to end up with sufficient runtime per hashed password by running the hash multiple times on the present system. If the number of iterations comes out to 0 for the time value you wish for, reduce the required memory. if the number of iterations gets too high, increase the memory.
Argon2-jvm has implemented a simple version of this in the argon2helper class and I believe that this project should implement it too.
Additionally, the readme has to be changed to reflect this information. The current section about parameters is misleading.
My solution contains one web project and multiple class libraries. I've set all my projects to x64.
The project runs successfully on either iis express 64 bits or iis local 64 bits.
When I hit this package's methods, I still get this error. What can I do to solve it?
Hi,
i'm using your great library via NuGet but i'm facing the following issue:
if i use the library in the old package.config
-format everything works as expected. But if i migrate to PackageReference
-format or if i just create a new .NET Framework 4.8
console application adding the library in PackageReference
-format to the .csproj
file, the Liphsoft.Crypto.Argon2.dll
is not copied to the bin
folder and i am also not able to compile the project. I'm using a x86
configuration and i can see that the post build target works fine because the bin
folder contains libargon2.dll
like expected.
The correspoinding PackageReference
section in the .csproj
file looks like this:
<ItemGroup>
<PackageReference Include="Liphsoft.Crypto.Argon2">
<Version>1.0.5</Version>
</PackageReference>
</ItemGroup>
More info about the two formats of NuGet: https://docs.microsoft.com/en-us/nuget/consume-packages/migrate-packages-config-to-package-reference
Unfortunately i have no idea what to do since we only want to use the newer PackageReference
format. Thanks for your help!
The source of Argon2 is outdated. Will you update it regularly to the latest version?
https://github.com/P-H-C/phc-winner-argon2/blob/master/CHANGELOG.md
I'm trying to verify a hash but on doing that get an exception from the library. The error is not particularly descriptive: it just says "-35 (35)". What does this mean?
Also, I'm wondering, if you setup your hasher with one set of variables, are you only able to verify hashes that honor these variables or does it not matter? If so, maybe the verify method should be made static?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.