可能的重复:
PHP 2-way加密:我需要存储可以检索的密码
我计划在我的网站上为我的用户存储国外帐户信息,又名rapidshare用户名和密码等…我想保证信息的安全,但我知道如果我散列了他们的信息,我就不能检索它以供以后使用。
Base64是可解密的,所以直接关闭没有意义。
我的想法是打乱用户并在它被base64ed之前和之后传递即使在你解密它之后,如果你试图解密,你会得到一些有趣的文本。是否有一个php函数,它接受的值将对字符串进行唯一的打乱,并在稍后重新输入值时解除打乱?
有什么建议吗?
安全警告:此代码不安全。
工作示例
define('SALT', 'whateveryouwant');
function encrypt($text)
{
return trim(base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, SALT, $text, MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND))));
}
function decrypt($text)
{
return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, SALT, base64_decode($text), MCRYPT_MODE_ECB, mcrypt_create_iv(mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB), MCRYPT_RAND)));
}
$encryptedmessage = encrypt("your message");
echo decrypt($encryptedmessage);