﻿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
6028	add compatibility with glibc2 MD5-based crypt passwords	Antti Kaihola	nobody	"In [5073] support for Unix DES crypt passwords was added (see #3316 for discussion).

Many systems use MD5-based crypt shadow passwords (see e.g. {{{man 3 crypt}}} or its [http://linux.die.net/man/3/crypt on-line version], under heading ""GNU Extension""). This extension to the crypt library prefixes the encrypted password with ""{{{$1$<8-character-salt>$}}}"" instead of the 2-character salt.

Django uses dollar signs ({{{$}}}) to delimit the algorithm, salt and encrypted password in the {{{contrib.auth.models.User.password}}} string. The choice of delimiter collides with glibc2 crypt. Apart from that MD5 crypt passwords should just work with the current code.

I bumped into this in a project where I need to move a number of Linux user accounts along with their passwords to Django.

The first solution which comes to mind is to add another algorithm name, e.g. ""md5-crypt"", and add its own splitting parser to replace [http://code.djangoproject.com/browser/django/trunk/django/contrib/auth/models.py#L54 the current one]."	New feature	closed	contrib.auth	dev	Normal	wontfix	auth password crypt mp5	philipp@…	Design decision needed	1	0	0	0	0	0
