比如我表单post过来了sha1('1')这个加密后的字符串356a192b7913b04c54574d18c28d46e6395428ab。
然后我if($_POST['s']=='356a192b7913b04c54574d18c28d46e6395428ab')
为什么判断为false?
echo $_POST['s']也是356a192b7913b04c54574d18c28d46e6395428ab啊。。
然后我if($_POST['s']=='356a192b7913b04c54574d18c28d46e6395428ab')
为什么判断为false?
echo $_POST['s']也是356a192b7913b04c54574d18c28d46e6395428ab啊。。
自己手打引号就是false这是为什么啊??
<?php
echo $_POST['set'].'<br>';
var_dump($_POST['set']);
if($_POST['set']=="f45918a75f152c9ce0b58043d5e5d7f22358665c")echo 'qw';
?>
就是if里面那个双引号手打就false。。不知为什么
http://hole.icnu.me/t1.php 这里post到t.php
sha1加密后的字符应该是40个的
post过来后的怎么就变成43个字符了?
在后面的页面重新加密的也是40个字符的。。
但是如果直接把指针指定一个那个加密后的字符串也是43个字符
为什么?
string(43) "356a192b7913b04c54574d18c28d46e6395428ab"
var_dump(sha1('1'))
string(40) "356a192b7913b04c54574d18c28d46e6395428ab"
var_dump('356a192b7913b04c54574d18c28d46e6395428ab')
string(43) "356a192b7913b04c54574d18c28d46e6395428ab"
这样:
print_r(unpack('H*', $_POST['set']));
Array ( [1] => efbbbf33353661313932623739313362303463353435373464313863323864343665363339353432386162 )
你去掉相关文件的 BOM 头就可以了