Salt不存储在yii2中的数据库中

时间:2014-04-21 07:07:19

标签: php yii2

在yii2中,用户表的表结构不包含salt列。

 $this->createTable('tbl_user', [
        'id' => Schema::TYPE_PK,
        'username' => Schema::TYPE_STRING . ' NOT NULL',
        'auth_key' => Schema::TYPE_STRING . '(32) NOT NULL',
        'password_hash' => Schema::TYPE_STRING . ' NOT NULL',
        'password_reset_token' => Schema::TYPE_STRING . '(32)',
        'email' => Schema::TYPE_STRING . ' NOT NULL',
        'role' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10',

        'status' => Schema::TYPE_SMALLINT . ' NOT NULL DEFAULT 10',
        'create_time' => Schema::TYPE_INTEGER.' NOT NULL',
        'update_time' => Schema::TYPE_INTEGER.' NOT NULL',
    ], $tableOptions);

这真让我感到困惑。虽然Yii使用salted哈希,但默认情况下它不存储在数据库中。我应该重写代码以使其存储在数据库中吗?如果我没有在数据库中弄盐,该怎么办?

1 个答案:

答案 0 :(得分:1)

Yii2 Security helper中使用的这个盐并不需要存储在db中,它只用于创建密码哈希,但不需要将密码与哈希进行比较。所以它非常安全。