我似乎无法想出在PHP中使用密码的正确方法。我在存储时使用盐进行哈希处理,但是我试图将基本密码保存下来
stripslashes(mysql_real_escape_string($_POST["password"]));
我假设有些用户会使用密码“!@#$%^ ...”等。
我可以想象用户使用<b>lulz</b>"u'mad?
等密码。
如何在密码变量中包含这些特殊字符?
答案 0 :(得分:5)
你不需要在这里进行任何类型的转义或剥离。 * 像$hashed = my_favourite_hash($_POST["password"] . $salt)
这样的东西应该没问题。†任何理智的散列函数应该返回一串字母数字字符,其中没有一个字符需要转义。
无论如何,你应该为你的SQL查询使用预准备语句,所以没有SQL注入的机会等。
<小时/> *假设你没有启用magic quotes(你真的不应该!)。
†在此替换my_favourite_hash
的首选哈希函数。
答案 1 :(得分:3)