PHP
—
入门 PHP 可逆加密函数
本文举例了一个 PHP 可逆加密函数进行分析介绍,供参考。
很多时候我们需要对数据进行加密解密,比如有些数据需要保存到 cookie 中,但又不能
被用户轻易得到这些数据,这时我们就需要加密这些数据保存到 cookie 中,等我们需要
使用它们的时候再解密。
加密的过程如下:
代码如下:
// 加密数据并写到 cookie 里
$cookie_data
=
$this
-> encrypt("nowamagic",
$data
);
$cookie
=
array
(
'name' => '$data',
'value' =>
$cookie_data
,
'expire' =>
$user_expire
,
'domain' => '',
'path' => '/',
'prefix' => ''
);
$this
->input->set_cookie(
$cookie
);
// 加密
public
function
encrypt(
$key
,
$plain_text
) {
$plain_text
= trim(
$plain_text
);
$iv
=
substr
(md5(
$key
), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));
$c_t
= mcrypt_cfb (MCRYPT_CAST_256,
$key
,
$plain_text
, MCRYPT_ENCRYPT,
$iv
);
return
trim(
chop
(
base64_encode
(
$c_t
)));
}
使用的时候再解密:
if
( isset(
$_COOKIE
['data']) )
{
//用 cookie 给 session 赋值
$_SESSION
['data'] = decrypt("nowamagic",
$_COOKIE
['data']);
}
function
decrypt(
$key
,
$c_t
) {
$c_t
= trim(
chop
(
base64_decode
(
$c_t
)));
$iv
=
substr
(md5(
$key
), 0,mcrypt_get_iv_size (MCRYPT_CAST_256,MCRYPT_MODE_CFB));