Opened 6 years ago
Last modified 4 years ago
#30472 closed Cleanup/optimization
Argon2id should be supported and become the default variety for Argon2PasswordHasher — at Version 1
Reported by: | Si Feng | Owned by: | nobody |
---|---|---|---|
Component: | contrib.auth | Version: | dev |
Severity: | Normal | Keywords: | argon2, argon2id |
Cc: | Triage Stage: | Ready for checkin | |
Has patch: | yes | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
There were three important changes in the upstream argon2-cffi library since Django 1.10 was released with Argon2 support:
- (Nov 10, 2016) argon2id support was added: https://github.com/hynek/argon2_cffi/commit/00120a9880a74a5aedb13ee343bf6ccd507bb2d8#diff-1efe26b4b54ac28232eaecb9107ee6ed
- (Apr 9, 2018) argon2id became its default type: https://github.com/hynek/argon2_cffi/pull/34/files
- (Aug 18, 2018) its hasher's default memory cost changed from 512 to 102400, and parallelism from 2 to 8, per RFC draft recommendations: https://github.com/hynek/argon2_cffi/commit/1ec39f8dc7a140b68099549b799301113576bde2
When Django 1.10 was released, only argon2d and argon2i were available, hence the hard-coded argon2i variety in Argon2PasswordHasher. The memory_cost = 512 and parallelism = 2 were also copied from argon2-cffi at that time.
Now we should sync Django with upstream updates.
Note:
See TracTickets
for help on using tickets.