php - 如何将 bcrypted 插入 mysql?

标签 php mysql bcrypt

如何在我的 .php 文件中使用 Bcrypt?

如果我错了,我会这样设置并纠正我

我查看了以下链接中的信息。 How do you use bcrypt for hashing passwords in PHP?

如果我理解正确的话 我会将函数列表放入 .php 文件中。然后在我的主程序上我会使用类似的东西: $isGood = $bcrypt->verify('password', $hash); 我的加密密码现在是 $isGood.

$isGood 是我要存储到数据库中的内容吗?对吗?

如何设置我的数据库?

我的字段类型是什么?我只是把它留空吗?或将其标记为文本?如何设置数据库来存储这种类型的密码?我知道我不会使用 md5 或 sha1 作为字段类型,因为那样只会对其进行更多加密,或者我会这样做吗?

最佳答案

根据所提供的示例,$isGood 要么是 true 要么是 false,而不是密码。至于你的数据库,你应该使用binary(60) for the field type

基本上,您要完成的是将加密的密码存储在数据库中。由于相同的字符串将始终散列为相同的值(注意换行符),因此您可以根据数据库中的内容检查用户输入的散列值。这就是 verify() 方法在您的示例中所做的。然后如果验证返回true你可以继续,否则密码错误。

我最近刚刚设置了类似这样的东西你还有问题吗。

编辑

再次阅读此文后,我想我应该提醒您始终 follow these guidelines when asking a question具体请在将来发布实际的代码示例,因为这将有助于使您的问题与其他人更相关。阿罗哈。

关于php - 如何将 bcrypted 插入 mysql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12810714/

相关文章:

php - 警告 : call_user_func_array() expects parameter 1 to be a valid callback mysqli

php - 删除单个数据而不删除mysql中的整行

php - 我如何安排我正在使用 group concat 的数据的输出?

php函数没有执行

ubuntu - 使用 MUP 将 Meteor 应用程序部署到 Ubuntu EC2 实例

java - 验证抛出 java.security.InvalidKeyException : null

node.js - IntelliJ 检查说 module.exports 不存在于 nodejs

php - MySQL 不显示在 phpMyAdmin 中创建的数据库

php - 在 PHP 中通过 HTTP POST 发送非常大的字符串

php - laravel(lumen) 查询中的 Postgis ST_DWithin 函数