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

Dou*_*ith 1 php

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

Col*_*n M 5

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

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

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

二注:sha1md5是不是最安全的密码.如果你不是太远,可以考虑另一种解决方案,如河豚