我有相同的ruby和django数据库。Ruby使用bcrypt算法(即使用devise gem)存储用户数据: ex:$2a$10$5JhrmU73vXEJWyoBQqYaKeM6a5KwxTfTrfARJmyyl.E8Tir3Q0nlG
但是为了在django中验证相同的用户,我的django bcrypt算法也应该输出相同的文本,即:$2a$10$5JhrmU73vXEJWyoBQqYaKeM6a5KwxTfTrfARJmyyl.E8Tir3Q0nlG。
该怎么做呢?
它与这个问题完全相反:Migrate django users to rails
发布于 2020-09-01 20:17:09
bcrypt散列包含一个盐。为了验证给定的密码是否与给定的散列匹配,您需要在计算中使用与给定的bcrypt散列中相同的盐。
由于bcrypt格式是标准化的,所以大多数身份验证库都将其抽象为不需要自己处理。Django支持bcrypt out of the box。
请参考上面的链接文档。简而言之,您可以
在您的Django环境中安装bcrypt,并将您的PASSWORD_HASHERS设置设置为包含'django.contrib.auth.hashers.BCryptSHA256PasswordHasher',例如PASSWORD_HASHERS = 'django.contrib.auth.hashers.BCryptSHA256PasswordHasher','django.contrib.auth.hashers.PBKDF2PasswordHasher','django.contrib.auth.hashers.PBKDF2SHA1PasswordHasher',bcrypt
https://stackoverflow.com/questions/63686734
复制相似问题