python - 在简单的 python 脚本中创建 django 密码

标签 python django passwords

我需要生成一个可以在 Django 中使用简单 python 脚本使用的加密密码。我需要导入什么包/模块才能实现这一目标?我正在寻找类似的东西:

from django.auth import create_password_from_string

django_password = create_password_from_string('coolpassword')

背景是,我在 server1 上有一个 PHP 应用程序,它应该与 server2 上的 Django 应用程序共享帐户。当在 PHP 应用程序中创建帐户时,我想启动一个 python 脚本,为 django 应用程序生成加密密码并将其传输到 server2。

当然,对于这个用例来说,通过 PHP 创建加密字符串会更好,但我敢打赌它更难实现。

最佳答案

您正在寻找的是 make_password .

基本用法:

只需传递您的纯文本密码,它就会返回您需要的哈希值。

此外,根据项目要求和规范,you can set the algorithm在 server2 应用程序上:只需传递 hasher 参数(注意:在 Django 中,默认值为 PBKDF2)。

环境要求:

首先,如果您是 Python 新手,我的建议是查看 PYTHONPATH env var,用于“告诉”解释器他必须在哪里搜索。 然后,如果您愿意,可以使用 Django 定义运行实例必须指向哪个设置文件。这是通过另一个环境变量 DJANGO_SETTINGS_MODULE 完成的,对于 django-admin 也可以内联设置:

django-admin runserver --settings=server2.settings

ma​​ke_password 示例:

假设您的 Python/Django env/path 变量已正确配置,您将:

$ python manage.py shell
>>> from django.contrib.auth.hashers import make_password
>>> make_password('password', 'generate something random', 'pbkdf2_sha256')

结果:

'pbkdf2_sha256$36000$generate something random$0F6M8tj8Y65YXuUgfRkDAwYqrky6Ob5JN+HLPO+6Ayg='

关于python - 在简单的 python 脚本中创建 django 密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54099877/

相关文章:

Hibernate 在日志文件中显示数据库密码

python - 如何提取给定键的值?

python - 在另一个页面中渲染 cms 页面

django - 如何使用 aptana 将 django 项目/应用程序部署到网络服务器 apache wsgi

c++ - Windows:如何获取完整用户的帐户

database - 代码点火器 TankAuth : How to move database to new server with phpass hash portable set to FALSE

python - 为什么 python 上的稀疏矩阵计算太慢

python - 使用 NLTK ieer 或 conll2000 语料库训练 NER 语料库

Python Redis 队列 (rq) - 如何避免为每个作业预加载 ML 模型?

Django:时区问题