使用PHP中的加密密码登录验证

时间:2018-12-07 15:43:36

标签: php django sha1

我有一个PostgreSQL数据库,其中有许多用户。用户密码以以下格式加密:

sha1$678ae$0dd4b5a9588be91a931d1ef1f7e7053477c1478e

这种加密是使用Django完成的(尽管我不知道您是否可以直接在数据库中对其进行加密)。

我要做的是制作一个PHP应用程序,该应用程序可以使用那些经过加密的密码来使用和验证这些用户。

我该怎么办? PS:我使用的是PHP 7。

1 个答案:

答案 0 :(得分:1)

默认情况下,Django使用PBKDF2哈希存储密码(请参见docs)。假设您尚未更改此默认值,则应该可以使用hash_pbkdf2函数在PHP中使用PBKDF2进行哈希处理。

您需要在您的PHP应用程序中接受用户密码,并将其转换为具有相同的algosaltiterationslength的PBKDF2哈希Django应用程序使用的值,然后将结果值与Django数据库中的加密密码进行比较,以查看它们是否匹配。