Comments (17)
Nah, I don't think this is critical. To me, Argon2 is still evolving and it's not worth to implement every single feature yet. Of course, if other bindings are implementing those stuff, then we should too not to lag behind.
from node-argon2.
Can you do it? I can just look at it later (tomorrow or so)
from node-argon2.
Thanks; I'm not in a hurry and can take a stab at it in the future.
from node-argon2.
Currently it looks like that the official argon2 repo does not support the secret(K) parameter with the argon2_hash function, So i think it should be reported there, though I will take a look at it when I'll have some time.
from node-argon2.
@markfejes it does through some other function that take an argon2 context as parameter, argon2_hash is just a shortcut function.
from node-argon2.
Yes, you are right, indeed. But i don't think, that using the argon2_ctx function would be a pretty approach :) I think it would be wise if one would stick to the argon2_hash function, don't you think? If you want, I could make the argon2_ctx implementation, because this is a really nice-to-have function.
from node-argon2.
Just took a look at this myself. Would be pretty easy to add support for secret (pepper) in the argon2_hash
function (it's just a wrapper that sets an argon2_context
and then calls argon2_ctx
with the specified type) and it just sets context.secret = NULL
; it would be easy to add an argon2_secret_hash
or similar that does the same thing but takes the secret as a parameter. I actually am more comfortable doing that than making the change to the Node binding but I assume that would be an easy fix as well...? I may make the change and submit a PR to the argon2 reference impl.
from node-argon2.
Once it gets implemented there, it's a breeze to push forward here :)
from node-argon2.
Should be easy to implement now with extractOptions
, just mimic salt extraction.
from node-argon2.
@ranisalt any news on this? Can I help you somehow?
I'm not able to implement the argon2 paper's test vectors.
To do that I need to pass Secret
and Associated data
.
from node-argon2.
@simonepri you need to change parameter reading on C++.
from node-argon2.
@ranisalt Also the version
should be configurable.
https://github.com/ranisalt/node-argon2/blob/master/src/argon2_node.cpp#L75
It makes sense for you?
from node-argon2.
Sure. That line is from a previous version of the lib.
from node-argon2.
"That line is from a previous version of the lib."
What do you mean?
from node-argon2.
It means I wrote it long ago and never bothered with it :P feel free to fix it
from node-argon2.
@ranisalt
It seems that argon2_ctx() validates all its inputs by the use of validate_inputs() function.
How should the support for secret be provided? Is there any plan as of now?
from node-argon2.
@jilvin there are plans, see #137
Moving discussion to the related PR.
from node-argon2.
Related Issues (20)
- Vulnerable downstream dependency HOT 6
- Hash in .Net and Verify in node.js HOT 6
- Cannot build anymore from yesterday: Cannot find module './**/*' HOT 8
- How to cache the Argon2 binary for CI? HOT 1
- Bun support HOT 1
- how to install with local argon2.node HOT 1
- v0.40.0-alpha.2 raises ts errors HOT 2
- node18.14.0 node-gyp10.0.1 Error message reported during installation of argon2 HOT 2
- How to hash without salt? HOT 2
- Feat request: synchronous version HOT 5
- Crash with docker HOT 2
- `defaults` is no longer exported in v0.40.0 HOT 2
- Mismatching version numbers on github releases and npm (0.40.0 vs 0.40.1) HOT 2
- node-gyp-build error HOT 4
- Doesn't work in the node:20-alpine image docker HOT 24
- Type regression between v0.31.2 and v0.40.1 HOT 5
- ReferenceError: require is not defined HOT 1
- Centos8 error: "symbol lookup error: undefined symbol: argon2_ctx" HOT 1
- Invalid argument on verify method HOT 4
- 0.40 prebuild fails on Debian bullseye arm64 linux as GLIBC 2.34 is required HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from node-argon2.