我使用php解密來檢查:回覆請求的電子郵件地址與發送請求的電子郵件地址相同。php解密失敗的URL
這是代碼,但在底部simpy失敗。
的網址就是:
blah.com/page?keyemail=fSHEk8KC17siklGHsj0HJA==
下面還的代碼顯示了一些測試,我所做的,以確保加密/解密正在努力確定...我回顯下來的代碼,看看發生了什麼事在
$key="XiTo74UI09wwe4YeUmuvbL0E";
$iv = mcrypt_create_iv (mcrypt_get_block_size (MCRYPT_TripleDES, MCRYPT_MODE_CBC), MCRYPT_DEV_RANDOM);
// Encrypting
function encrypt($string, $key) {
$enc = "";
global $iv;
$enc=mcrypt_cbc (MCRYPT_TripleDES, $key, $string, MCRYPT_ENCRYPT, $iv);
return base64_encode($enc);
}
// Decrypting
function decrypt($string, $key) {
$dec = "";
$string = trim(base64_decode($string));
global $iv;
$dec = mcrypt_cbc (MCRYPT_TripleDES, $key, $string, MCRYPT_DECRYPT, $iv);
return $dec;
}
// test example
$email = '[email protected]';
echo "email is $email<br /><br />";
$email_key = encrypt($email, $key);
echo "key is $email_key<br /><br />";
$email_key2 = decrypt($email_key, $key);
echo "decrypted is $email_key2<br /><br />";
// END test example, all is ok
// this is the code that fails
$to_de = $_GET[keyemail];
echo "keyemail again is $to_de<br /><br />";
$email_key3 = decrypt($to_de, $key);
echo $email_key3;
當我回聲$ email_key3以某種方式編碼是什麼返回 - 它應該是[email protected]
我可能失去了一些東西很明顯,但它失去了我!
因爲你已經知道它應該來自哪個電子郵件,所以最好在這裏使用哈希,但是'$ _GET ['keyemail']'的var_dump是什麼,因爲它應該代替'$ _GET [keyemail]'因爲即使PHP將keyemail翻譯爲字符串,如果我沒有記錯,它也會引發E_NOTICE。 – Sammaye
什麼是回報?你能爲我們打印出來嗎? – Sammaye