djmartins Posted May 15, 2011 Report Share Posted May 15, 2011 Man ir radusies neliela problēma. Šifrētus datus izdodās ievietot mysql datubāzē, taču neizdodās izvadīt no datubāzes atšifrētu rezultātu. Tiek izvadīti ķeburi. Īsti neizprotu, kur varētu būt problēma. <?php$res=mysql_query("select * from lietotaji where niks='$user'") or die(mysql_error());$rez=mysql_fetch_array($res); {$vards=htmlentities($rez['vards'],ENT_QUOTES, "UTF-8");}$key="XiTo74dOO09N48YeUmuvbL0E";$iv = mcrypt_create_iv (mcrypt_get_block_size(MCRYPT_CAST_256, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM);function decrypt($string,$key) { $dec = ""; $string = trim(base64_decode($string)); global $iv; $dec = mcrypt_cbc (MCRYPT_CAST_256, $key, $string, MCRYPT_DECRYPT, $iv); return $dec;}$vards2 = decrypt($vards, $key);?>[/Code] Quote Link to comment Share on other sites More sharing options...
Aleksejs Posted May 16, 2011 Report Share Posted May 16, 2011 CBC režīmam arī atšifrēšanai vajag IV vērtību. Kad taisīju bezsesiju piemēru arī uzrāvos uz to pašu lietu (maketoken() un checktoken() http://paste.php.lv/7692?lang=php ). Faktiski, piekonkatenē šifrētajiem datiem sākumā IV vērtību (vēl labāk vispirms vēl aizšifrē šo IV ECB režīmā). Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.