PHP 安全:PHP 使用 DES 进行加密与解密的方法
本文章是对 PHP 使用 DES 进行加密与解密的方法进行了详细的分析介绍,需要的朋友参
考下
DES 是一种标准的数据加密算法,关于这个算法的详细介绍可以参考 wiki 和百度百科:
wiki
百科 百度百科
php 中有一个扩展可以支持 DES 的加密算法,是:extension=php_mcrypt.dll
在配置文件中将这个扩展打开还不能够在 windows 环境下使用
需要将 PHP
文件夹下的 libmcrypt.dll
拷贝到系统的 system32 目录下,这是通过 phpinfo 可
以查看到 mcrypt 表示这个模块可以正常试用了。
下面是 PHP 中使用 DES 加密解密的一个例子:
代码如下:
//$input - stuff to decrypt
//$key - the secret key to use
function
do_mencrypt(
$input
,
$key
)
{
$input
=
str_replace
(""n", "",
$input
);
$input
=
str_replace
(""t", "",
$input
);
$input
=
str_replace
(""r", "",
$input
);
$key
=
substr
(md5(
$key
), 0, 24);
$td
= mcrypt_module_open('tripledes', '', 'ecb', '');
$iv
= mcrypt_create_iv(mcrypt_enc_get_iv_size(
$td
), MCRYPT_RAND);
mcrypt_generic_init(
$td
,
$key
,
$iv
);
$encrypted_data
= mcrypt_generic(
$td
,
$input
);
mcrypt_generic_deinit(
$td
);
mcrypt_module_close(
$td
);
return
trim(
chop
(
base64_encode
(
$encrypted_data
)));
}
//$input - stuff to decrypt
//$key - the secret key to use
function
do_mdecrypt(
$input
,
$key
)
{
$input
=
str_replace
(""n", "",
$input
);
$input
=
str_replace
(""t", "",
$input
);
$input
=
str_replace
(""r", "",
$input
);
$input
= trim(
chop
(
base64_decode
(
$input
)));