Pylons/Pyramid 应用程序中的 Salt 键在哪里?
Where is the Salt key in a Pylons/Pyramid app?
我有一个遗留的 2010 Pylons 应用程序,我想用更新的 Django 应用程序替换。
在 Django 中,我的理解是用于散列密码的 Salt 是配置文件中的 SECRET_KEY
。如果我错了,请纠正我。很容易找到。(我错了,已更正)。
无论如何,由于 Django 中使用的散列算法不同,该公司并不热衷于重置每个人的密码。所以我打算更改 Django 以匹配 Pylons,或者找到一种方法来解密 Pylons 散列的,并在 Django 下重新加密。
问题是在查看文档并使用谷歌搜索后,我不知道 Salt 在 Pylons 应用程序中的位置。有人有想法吗?
在 Pyramid(或 Pylons)中没有单一的使用盐的方法。将密码哈希存储/检索到数据存储的实现留给应用程序代码。
这给了你很大的自由度。
一种方法是在 Django 中重现代码并继续使用它作为您的散列算法,因为它可能是安全的。快速修复或概念证明可能是安装 django 并从中导入代码(尽管如果许可证允许,我会亲自复制粘贴一小部分代码,或者只是重写它)。您需要的散列部分一旦减到最少可能少于 15 行。
此外,我不建议按照您的问题的评论中的建议进行操作:在用户登录时迁移密码。因为您将永远使用旧密码,并且必须保留代码来处理它们,加上处理新密码的新代码,加上迁移代码。
我有一个遗留的 2010 Pylons 应用程序,我想用更新的 Django 应用程序替换。
在 Django 中,我的理解是用于散列密码的 Salt 是配置文件中的 (我错了,已更正)。SECRET_KEY
。如果我错了,请纠正我。很容易找到。
无论如何,由于 Django 中使用的散列算法不同,该公司并不热衷于重置每个人的密码。所以我打算更改 Django 以匹配 Pylons,或者找到一种方法来解密 Pylons 散列的,并在 Django 下重新加密。
问题是在查看文档并使用谷歌搜索后,我不知道 Salt 在 Pylons 应用程序中的位置。有人有想法吗?
在 Pyramid(或 Pylons)中没有单一的使用盐的方法。将密码哈希存储/检索到数据存储的实现留给应用程序代码。
这给了你很大的自由度。
一种方法是在 Django 中重现代码并继续使用它作为您的散列算法,因为它可能是安全的。快速修复或概念证明可能是安装 django 并从中导入代码(尽管如果许可证允许,我会亲自复制粘贴一小部分代码,或者只是重写它)。您需要的散列部分一旦减到最少可能少于 15 行。
此外,我不建议按照您的问题的评论中的建议进行操作:在用户登录时迁移密码。因为您将永远使用旧密码,并且必须保留代码来处理它们,加上处理新密码的新代码,加上迁移代码。