php中的双向加密

时间:2012-02-26 08:47:49

标签: php security encryption cryptography encryption-symmetric

我需要在PHP中进行双向加密。基本上我想做的是将字符串(例如Marshall)转换为奇怪的东西(例如s2323sdavrt44),然后将其(s2323sdavrt44)转换回明文字符串({{ 1}})。

我怎样才能做到这一点?并且我没有为密码或任何东西做这个,对于div id属性,所以稍后我可以将它拆分为SQL查询。

5 个答案:

答案 0 :(得分:4)

试试这个:

$key = 'password to (en/de)crypt';
$string = 'string to be encrypted';

$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
$decrypted = rtrim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, md5($key), base64_decode($encrypted), MCRYPT_MODE_CBC, md5(md5($key))), "\0");

var_dump($encrypted);
var_dump($decrypted);

答案 1 :(得分:0)

执行此操作的一种方法是使用XOR加密wikipedia。在这种情况下,您将不得不使用“密钥”对文本进行编码和解码。

php有一个示例php.net,请看示例#2

答案 2 :(得分:0)

它不在php核心,但你可以看看

http://php.net/manual/en/function.mcrypt-decrypt.phphttp://php.net/manual/en/function.mcrypt-encrypt.php您可以使用有效密钥加密和解密字符串。

Best way to use PHP to encrypt and decrypt passwords?

上有一篇很好的帖子

答案 3 :(得分:-1)

$string === str_rot13( str_rot13($string) );

答案 4 :(得分:-2)

如果你想使用任何加密,那么你可以使用'openssl',你可以使用任何反向加密算法来加密和解密。我在php中使用过这个并且运行得很好。

所有详细信息都在此页面上:http://php.net/manual/en/book.openssl.php