当有人加入我的网站时,我想创建一个'激活'键。这将通过电子邮件发送给他们,当他们点击链接时,它将激活他们的帐户。我想在激活密钥中加入一些信息(从安全的角度来看,没什么大不了的 - 只是在他们注册时他们在哪个页面上等,所以我可以将它们重定向回那个页面。)
我有以下内容:
// THIS TO ENCRYPT THE DATA
$secret_key = "This is my SeCrEt key";
$etype = MCRYPT_RIJNDAEL_256;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($etype, MCRYPT_MODE_ECB), MCRYPT_RAND);
$output = mcrypt_encrypt($etype, $secret_key, $string_to_encrypt, MCRYPT_MODE_CBC, $iv);
$output = base64_encode ($output);
$output = urlencode($output);
// THIS TO DECRYPT THE DATA - THIS ISN'T WORKING?
$secret_key = "This is my SeCrEt key";
$etype = MCRYPT_RIJNDAEL_256;
$iv = mcrypt_create_iv(mcrypt_get_iv_size($etype, MCRYPT_MODE_ECB), MCRYPT_RAND);
$string_to_decrypt = urldecode($string_to_decrypt);
$string_to_decrypt = base64_decode($string_to_decrypt);
$output = mcrypt_decrypt($etype, $secret_key, $string_to_decrypt, MCRYPT_MODE_CBC, $iv);
我正在使用base64编码和urlencoding,因为我将通过电子邮件发送链接。
解密根本不起作用。有什么想法吗?
答案 0 :(得分:1)
对于特定的加密/解密,IV必须相同。