我需要在 PHP 中进行 2 路加密。基本上我想要做的是将字符串(Marshall
例如)转换为奇怪的东西(s2323sdavrt44
例如),然后将(s2323sdavrt44
)转换回明文字符串(Marshall
)。
我怎样才能做到这一点?不,我不是为密码或任何东西,为 div id 属性这样做,所以稍后我可以将它拆分为 SQL 查询。
我需要在 PHP 中进行 2 路加密。基本上我想要做的是将字符串(Marshall
例如)转换为奇怪的东西(s2323sdavrt44
例如),然后将(s2323sdavrt44
)转换回明文字符串(Marshall
)。
我怎样才能做到这一点?不,我不是为密码或任何东西,为 div id 属性这样做,所以稍后我可以将它拆分为 SQL 查询。
尝试这个:
$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);
它不在 php 核心中,但你可以看看
http://php.net/manual/en/function.mcrypt-decrypt.php 和http://php.net/manual/en/function.mcrypt-encrypt.php您可以在其中使用有效密钥加密和解密字符串.
Best way to use PHP to encrypt and decrypt passwords上有一篇很好的帖子?
$string === str_rot13( str_rot13($string) );
如果你想使用任何加密,那么你可以使用“openssl”,你可以使用任何反向加密算法来加密和解密。我在 php 中使用过它并且工作得很好。
所有详细信息都在此页面上:http: //php.net/manual/en/book.openssl.php