首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Drupal重用它的散列盐。

问Drupal重用它的散列盐。
EN

Drupal用户
提问于 2014-11-23 03:28:33
回答 1查看 2.8K关注 0票数 6

default.settings.php中的说明说

安装程序将将此变量设置为随机值。如果值被更改,所有一次性登录链接都将失效。注意,如果您的站点部署在web服务器集群上,则必须确保此变量在每个服务器上具有相同的值。如果此变量为空,则序列化的数据库凭据的散列将用作回退盐。

但是盐渍的这种解释说

每次用户创建帐户或更改密码时,都必须生成一个新的随机盐。

并进一步阐明,每个盐度散列(例如密码)都应该与数据库中的hashed+salted密码一起存储其唯一的盐分。

我是误解了我读到的关于盐渍的文章,还是Drupal为了方便而使用错误的实践,或者文章是错的,还是有其他的事情发生?

EN

回答 1

Drupal用户

回答已采纳

发布于 2014-11-23 15:17:10

我已经迁移了其他CMS到Drupal,并有移动用户帐户的经验。Drupal的密码算法非常好。

您在settings.php中所指的salt不用于密码。drupal_hash_salt盐用于生成像cookie这样的东西。因此,如果您处于负载平衡设置中,为什么它要求您必须在所有web服务器上保持相同。

密码的生成使用SHA512算法,使用openssl库随机生成盐类(不是mt_rand或其他弱随机数生成器)。

如果您想了解有关密码生成的更多信息,可以从这里开始阅读Drupal的API文档

您可以看到,在要生成的函数中,它调用一个“私有”函数来生成一个新的密码盐(_password_generate_salt())。这反过来又调用了许多其他私有的、自定义的Drupal函数(这是一个很长的漏洞)。

因此,通常用于Drupal的密码方案是非常深入和嵌套的,它不使用被认为是“弱”的PHP函数。

票数 14
EN
页面原文内容由Drupal提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://drupal.stackexchange.com/questions/137721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档