php - 在 password_hash 值上使用准备好的语句有什么意义吗?

标签 php pdo hash prepared-statement

当使用 password_hash() 函数生成散列密码时,为什么我想在将它插入数据库时​​使用准备好的语句?

我的假设是我不需要为密码使用准备好的语句,但为了保持一致性,使用一个也没有坏处。

附加问题:

如果我使用 password_hash 函数的 PASSWORD_DEFAULT 参数,它目前将使用 bcrypt 算法,但将来可以替换为不同的算法。如果我不使用准备好的语句, future 的算法是否会使用单引号或其他可能破坏 SQL 语句的符号?

最佳答案

is there any reason why I would want to use a prepared statement when inserting it into the database?

仅仅是因为数据库层应该完全不了解数据源、性质、含义或先前的验证。数据库层的工作是将数据正确地放入数据库中。准备好的语句是这样做的唯一正确方法。

因此,用您自己的话来说,“但为了保持一致性,使用一个也无妨”。

关于php - 在 password_hash 值上使用准备好的语句有什么意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36901808/

相关文章:

php - 如何根据相关性对全文索引搜索结果进行排序

php - 如何使用php检测301重定向

c - 有 glibc 哈希函数吗?

mysql - 密码散列和加盐——这是一个好方法吗?

PHP 发布并获取值到 jQuery 框页面,刷新页面为 `msnbc.com`

javascript - 制作另一个将显示列表(自动完成)并将用作所选字段的值的表单

php - 在产品价格总和列旁边显示每周交易

php - 如何显示电子商务购物 list 中商品的总值(value)

php - 如何将两个不同表中的两个值输出到 href?

php - mysql 全文 stripslashes 不起作用