这种盐弄乱了我的 SELECT 命令:
p‚ÙÕ†¤éÿ5xÃø¤ü¥–ä™m›|§Éá\0yå–e
解码输出:
p‚ÙÕ†¤éÿ5xÃø¤ü¥–ä™m›|§Éá\0yå–e
无盐:
mysql> SELECT userid, username FROM user;
+--------+--------------+
| userid | username |
+--------+--------------+
| 1 | user1 |
| 2 | user2 |
| 3 | user3 |
| 4 | user4 |
+--------+--------------+
4 rows in set (0.00 sec)
加盐:
mysql> SELECT userid, username, salt FROM user;
+--------+--------------+----------------------------------+
| userid | username | salt |
+--------+--------------+----------------------------------+
| 1 | user1 | ]ææ=°ù¡£YÒp£'Rm§Éá yåe | |
| 3 | user2 | ¸ÀçqµgsN\ôü¥ä
ɪÓñ1r¦ôyr$ÅK |
| 4 | user4 | \7øþ ÇãÙr|ú&eå¡%»
yYRìÚ¬E |
+--------+--------------+----------------------------------+
4 rows in set (0.00 sec)
我用来生成盐的函数:
$salt = mcrypt_create_iv(32, MCRYPT_DEV_RANDOM);
逃避它:
$salt = mysql_real_escape_string($salt);
问题:用户 2 的行在选择“盐”时永远不会显示。任何人为什么? 相关问题: User3 也有换行符,这有点把我的表弄乱了,可能和上面的问题一样。
我尝试过的没有运气: 我用“mysql”结尾的每个单词都用谷歌搜索了。我什么都没找到。。
谢谢。