http://software.ftp.sscmoni.com/1.png
图片上传不上去就用,麻烦大家点开看下
这个函数里面的传递的参数,就是那个红框里面,base64解密,传递的参数解密不成功,如果直接填,用单引号也不成功,用双引号成功,那个参数里面有\n换行符,双引号则生效,那么我要传递这个参数,因为这个参数是动态的,POST表单提交过来的,那么我应该怎样写呢?
<?phpclass form{public function __construct($user="username", $pass="123456", $code="123456" ){$encryptedData = base64_decode($user);echo("$datedate");$decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_128, $pass, $encryptedData, MCRYPT_MODE_CBC, "$code");echo("$decrypted");die; }}if ( sizeof($_POST) ) {$user = $_POST["date"] or die('内容不能为空!');$pass = $_POST["key"] or die('内容不能为空!');$code = $_POST["iv"] or die('内容不能为空!');$Form = new form("$user", "$pass", "$code");}?>
无论 $user 在 base64_encode 之前是什么,经过 base64_encode 之后,绝不会含有 换行符
因此不能在虚无的基础上进行讨论
无论 $user 在 base64_encode 之前是什么,经过 base64_encode 之后,绝不会含有 换行符
因此不能在虚无的基础上进行讨论
在base64_encode之前是有换行符的
那么 $encryptedData = base64_decode($user); 后
$encryptedData 中就有换行符
但是你 echo $decrypted; 是看不到的,因为浏览器不会将换行符表现为换行。html 的换行是 br 和 p 标记
你需要在文本状态下才能观察到
大神们 我已经解决啦 谢谢大家帮我解决问题哦