在password_hash值上使用预准备语句有什么意义吗?

时间:2016-04-27 22:08:44

标签: php pdo hash prepared-statement

当使用password_hash()函数生成散列密码时,我有什么理由在将其插入数据库时​​使用预准备语句?

我的假设是我不需要为密码使用准备好的声明,但为了保持一致,使用密码并不会造成伤害。

其他问题:

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

1 个答案:

答案 0 :(得分:7)

  

有什么理由说我想在将数据库插入数据库时​​使用预准备语句?

YES

仅仅因为数据库层应该对数据源,性质,含义或先前的验证完全无知。数据库层的工作是将数据正确地放入数据库中。准备好的陈述是这样做的唯一正确方法。

所以,用你自己的话说,"但为了保持一致,使用一个"并不会有什么坏处。