-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
What does memory mean? #2
Comments
See: https://github.com/gmpassos/argon2/blob/master/lib/src/argon2_base.dart#L132 It's the memory used to store the "hashing blocks". The Argon2 algorithm allows a custom amount of memory to compute the hash, what increases the computation cost (a feature needed in some use cases). See: And some description of the behavior:
|
So if I take |
@chickahoona I have also compared speeds and memory use in a CLI application that is shipped together with my app using
I wouldn't expect memory use to co-align one-to-one, especially if using a high-level implementation such as the one provided by this package. |
Did tou tried to run it compiled? dart compile exe path/to/file.dart If you are running it from the Dart VM ( |
Note that the best way to perform a benchmark is not to compute the |
@gmpassos indeed, my CLI executable is compiled via |
I also tried the library in my Flutter app and there was a noticeable delay in login times compared with |
Get rid of DLLs is a good thing. Well, you could preload the var argon2 = Argon2BytesGenerator();
argon2.init(parameters); |
I will consider trying that sometime, thank you. To be honest, I am much more worried about memory use than time, as memory is often scarce on mobile devices. In either way, this is a pretty good implementation in case anyone needs it for low-memory web argon2 scenarios, keep up the good work. 👍 |
Have you tried the |
It loads a different implementation depending on the platform: https://github.com/bcgit/pc-dart/blob/master/lib/key_derivators/argon2_native_int_impl.dart |
I have updated my original comment with test results. Regarding pre-loading, mine is a special case where user can have more than one account and has the freedom to customize their argon2 parameters during runtime so I don't see how or when I can use the initialize function. I believe I'm better off keeping whatever I was using before. Thank you! |
I am also interested in this question. It would help if the Thank you for your work 🙇 |
Could you please specify what Memory means? so are we talking about 2^X Bytes / Bits / Kilobits / ...
I am asking as OWASP recommends at least 19 MiB of RAM and I'd like to know which setting would reflect that?
https://cheatsheetseries.owasp.org/cheatsheets/Password_Storage_Cheat_Sheet.html
The text was updated successfully, but these errors were encountered: