如果我在插入数据库之前加密密码,我是否需要mysql_real_escape_string呢?

时间:2013-02-19 22:27:51

标签: php

我正在使用sha1加密它。我也应该使用mysql_real_escape_string(),还是加密它?

1 个答案:

答案 0 :(得分:5)

从技术上讲,sha1的输出将始终为十六进制字符串,因此您无需转义它。

但是:这个问题的答案总是一样的:逃避价值观。如果它来自SQL之前的2行硬编码变量,请将其转义。总是。逃逸。期。还有许多其他事情需要担心优化。

参数化查询和PDO始终是最佳选择,但

第二个注意事项:sha1md5对密码不是最安全的。如果你不太远,请考虑另一种解决方案,如河豚