﻿id	summary	reporter	owner	description	type	status	component	version	severity	resolution	keywords	cc	stage	has_patch	needs_docs	needs_tests	needs_better_patch	easy	ui_ux
30472	Argon2id should be supported and become the default variety for Argon2PasswordHasher	Si Feng	Florian Apolloner	"There were three important changes in the upstream [https://github.com/hynek/argon2_cffi argon2-cffi] library since Django 1.10 was released with Argon2 support:

1. (Nov 10, 2016) argon2id support was added: https://github.com/hynek/argon2_cffi/commit/00120a9880a74a5aedb13ee343bf6ccd507bb2d8#diff-1efe26b4b54ac28232eaecb9107ee6ed
2. (Apr 9, 2018) argon2id became its default type: https://github.com/hynek/argon2_cffi/pull/34/files
3. (Aug 18, 2018) its hasher's default memory cost changed from 512 to 102400, and parallelism from 2 to 8, per [https://tools.ietf.org/html/draft-irtf-cfrg-argon2-04#section-4 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.

Though Django does not use its hasher, the memory_cost = 512 and parallelism = 2 in Argon2PasswordHasher were simply copied from argon2-cffi's hasher back then.

Now we should sync Django with upstream updates."	Cleanup/optimization	closed	contrib.auth	dev	Normal	fixed	argon2, argon2id		Ready for checkin	1	0	0	0	0	0
