当前位置:
科技动态 > PHP编写的加密函数支持私钥(详细介绍)_php小技巧
PHP编写的加密函数支持私钥(详细介绍)_php小技巧
在开发PHP系统时,成员部分往往是必不可少的模块,而密码处理是不得不面对的问题。 PHP Mcrypt 加密库需要额外的设置。很多人直接使用md5()函数来加密。这种方法确实安全,但是由于md5是不可逆加密,密码无法恢复,所以存在一些不便。本文介绍支持私有加密的加密功能。钥匙挺好用的。
代码如下:
PHP:
复制代码 代码如下:
//说明:PHP编写的加密函数支持私钥
//整理:http :/ /www.sychzs.cn
功能
keyED(
$txt
,$加密_key )
{
$加密_密钥
= md5
(
$加密_密钥) )
;
$ctr
=0
;
$tmp
=""
;
对于
(
$i
=0
;$i
(
$txt
)
;$i
++)
{
if
(
$ctr
== strlen
(
$加密密钥
)
)
$ctr
=0
;
$tmp
.= substr
(
$txt
,$i
,1
)
^ substr
(
$加密密钥
,$ctr
,1
)
;
$ctr
++;
}
返回
$tmp
;
}
功能
加密(
$txt
,$钥匙
)
{
srand
(
(
双) 微时间
(
)
*1000000
)
;
$加密密钥
= md5
(
rand
() ,32000
)
)
;
$ctr
=0
;
$tmp
=""
;
对于
(
$i
=0
;$i
(
$txt
)
;$i
++)
{
if
(
$ctr
== strlen
(
$加密密钥
)
)
$ctr
=0
;
$tmp
.= substr
(
$加密密钥
,$ctr
,1
)
。 (
substr
(
$txt
,$i
,1
)
^ substr
(
$加密密钥
,$ctr
,1
)
)
;
$ctr
++;
}
返回
keyED(
$tmp
,$key
)
;
}
函数
解密(
$txt
,$钥匙
)
{
$txt
= keyED(
$txt
,$钥匙
)
;
$tmp
= ""
;
对于
(
$i
=0
;$i
(
$txt
)
;$i
++)
{
$md5
= substr
(
$ txt
,$i
,1
)
;
$i
++;
$tmp
.= (
substr
(
$txt) ,$i
,1
)
^ $md5
)
;
}
返回
$tmp
;
}
$key
= "www.sychzs.cn"
;
$string
= "我是加密角色"
;
// 加密$string,并存储在$enc_text
$enc_text
= 加密(
$string , $钥匙
)
;
//解密密文$enc_text,存入$dec_text
$dec_text
= 解密 (
$enc_text
, $钥匙
)
;
print
"加密文本:$enc_text
"
;
print
"解密文本:$dec_text
"
;
?>
每次加密后的结果都不同,大大增强了密码的安全性。