php - Two equal strings that are not equal -


i comparing 2 strings php. sure strings equal because have echoed them on webpage, comparison returns "bad".

one of strings being compared formerly encrypted via aes-256 , stored via cookie.

cookie value: _uid=yjuzi3kzi+yrmkay9h2+k0bl+374u5jleyf7bslinfo=:mjsahc8qjx5upf0p8gpunkcziezobzbglrszgjidqx4=

encryption function:

<?php // aes 256 function aes($a,$b,$c) {     switch($a){         case 1:             $d="awkwardp_general";$e="xjoiw4rifo5jw4";             $f=mysqli_connect("localhost",$d,$e,"awkwardp_main") or die(mysqli_error($f));             $g=mcrypt_get_iv_size(mcrypt_rijndael_128,mcrypt_mode_cbc);             $h=mcrypt_create_iv($g,mcrypt_dev_urandom);             $i="value";             $j="keys";             $k=array();             $l=0;             $m="select ".$i." `".$j."`";             $n=mysqli_query($f,$m) or die(mysqli_error($f));             while($o=mysqli_fetch_array($n)){                $k[$l]=$o[$l];                $l++;             }             $p=strlen($k[$b]);             $q=mcrypt_encrypt(mcrypt_rijndael_128,$k[$b],$c,mcrypt_mode_cbc,$h);             $q=base64_encode($h.$q);             return $q;             break;         case 2:             $d="awkwardp_general";$e="xjoiw4rifo5jw4";             $f=mysqli_connect("localhost",$d,$e,"awkwardp_main") or die(mysqli_error($f));             $g=mcrypt_get_iv_size(mcrypt_rijndael_128,mcrypt_mode_cbc);             $i="value";             $j="keys";             $k=array();             $l=0;             $m="select ".$i." `".$j."`";             $n=mysqli_query($f,$m) or die(mysqli_error($f));             while($o=mysqli_fetch_array($n)){                 $k[$l]=$o[$l];$l++;             }             $p=strlen($k[$b]);             $q=base64_decode($c);             $r=substr($q,0,$g);             $s=substr($q,$g);             $t=mcrypt_decrypt(mcrypt_rijndael_128,$k[$b],$s,mcrypt_mode_cbc,$r);              return $t;             break;         default:      } } ?> 

comparison script:

<?php $value = explode(":",$_cookie['_uid']); $_server['remote_addr'] == aes(2,1,$value[0])     ? printf("good")     : printf("bad"); ?> 

can tell me problem is?

your problem because of hidden spaces. remove them use trim(), e.g.

$_server['remote_addr'] == trim(aes(2,1, trim($value[0])))                          //^^^^          ^^^^ see here 

Comments

Popular posts from this blog

toolbar - How to add link to user registration inside toobar in admin joomla 3 custom component -

linux - disk space limitation when creating war file -

How to provide Authorization & Authentication using Asp.net, C#? -