如何生成与django生成的密码相同的密码?

时间:2012-08-18 07:37:20

标签: objective-c django-authentication

我正在使用django.contrib.auth.hashers.make_password方法来存储密码。有一个iOS应用程序发送用户名和密码到我的Django网站进行身份验证。我希望他们发送加密密码而不是原始密码。但我不知道django如何加密密码?其他平台上的其他人如何生成相同的加密密码?

2 个答案:

答案 0 :(得分:1)

Django有多种方法可用于加密密码。默认情况下使用PBKDF2。

您可以查看您的PASSWORD_HASHERS列表以查看设置内容:

  

PASSWORD_HASHERS =(       'django.contrib.auth.hashers.PBKDF2PasswordHasher',       'django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',       'django.contrib.auth.hashers.BCryptPasswordHasher',       'django.contrib.auth.hashers.SHA1PasswordHasher',       'django.contrib.auth.hashers.MD5PasswordHasher',       'django.contrib.auth.hashers.CryptPasswordHasher',       )

这是一篇关于在iOS中实现该算法的SO文章: PBKDF2 using CommonCrypto on iOS

挑战是密码被腌制。如果您不知道salt,则无法正确散列密码。因此,您需要将salt安全地发送到设备,因此您的输出哈希匹配。

答案 1 :(得分:0)

版本< 1.4是SHA1,> = 1.4是PBKDF2,检查表

select * from auth_user;

要确保,密码列是算法$ hash 查看document了解详情。