我是否需要在我的数据库中将 BCRYPT 散列拆分成单独的字符串?

Do I need to split the BCRYPT hash into separate strings inside my database?

我想让我的密码数据库更加安全,使用 bcrypt 加密密码。问题是我不知道将方法返回的散列拆分成不同的字符串(-prefix-cost-salt-password-)是否重要以使其更安全。可以?返回的哈希值:$2y$10$/s1xHJ04qAY2CCs16BHdQ.VpzQjd3HSUGEsL6xiKrd.RQig7uFpZ.

在那种情况下,我应该在我的数据库中创建哪些列table?

您不需要拆分散列密码,为什么要这样做?只需使用 PHP 本机密码哈希函数:password_hash($user_password, PASSWORD_BCRYPT, ['cost'=> 12]) 并将结果存储在数据库中。