Skip to content
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

Add support for argon2 on web platform #133

Closed
wants to merge 1 commit into from
Closed

Add support for argon2 on web platform #133

wants to merge 1 commit into from

Conversation

licy183
Copy link
Contributor

@licy183 licy183 commented Aug 31, 2021

Fix Register64.mul, add Register64.mod and add support for argon2 on web platform.

  1. Register64.mul has an error on web platform when p1 is a 33-bit integer. Dart int on web platform (Javascript) will make the result an 32-bit integer, which is not the same as Dart VM. This PR fixes this, and add some tests for this problem.
  2. Add mod(int) opertaion on class Register64. This method is implemented using Horner's method. Maybe we can implement it using Knuth's method for a better performance later.
  3. Add support for argon2 on web platform. This PR contains an Argon2BytesGenerator which is implemented using Register64, and it can run on web platform with higher memory occupation and worse performance. This PR uses a platform-aware method to determine use either Register64 impl or native int impl.

@AKushWarrior
Copy link
Contributor

@mwcw I think this solves the problems we'd been having with argon2 on the web. This library's focus isn't on speed anyways (and technically, neither is Argon2's), so I'd recommend merging it.

@meganwoods
Copy link
Contributor

Hi,

I'll take a look at it tomorrow (Melb, AU) time or perhaps if I can this evening.

MW

@mwcw
Copy link
Collaborator

mwcw commented Sep 3, 2021

Thanks!

Merged will be synced in a few hours.

MW

@mwcw mwcw closed this Sep 3, 2021
@licy183 licy183 deleted the fix_argon2 branch September 3, 2021 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants