PHP如何实现加密函数并支持私人密钥-创新互联
这篇文章主要为大家展示了“PHP如何实现加密函数并支持私人密钥”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“PHP如何实现加密函数并支持私人密钥”这篇文章吧。
成都创新互联专注于网站建设|成都网站改版|优化|托管以及网络推广,积累了大量的网站设计与制作经验,为许多企业提供了网站定制设计服务,案例作品覆盖成都湿喷机等行业。能根据企业所处的行业与销售的产品,结合品牌形象的塑造,量身开发品质网站。在开发PHP系统时,会员部分往往是一个必不可少的模块,而密码的处理又是不得不面对的问题,PHP 的 Mcrypt 加密库又需要额外设置,很多人都是直接使用md5()函数加密,这个方法的确安全,但是因为md5是不可逆加密,无法还原密码,因此也有一些不便之处,本文介绍加密函数支持私钥,用起来还是不错的.
代码如下:
PHP:
- // 说明:PHP 写的加密函数,支持私人密钥
- // 整理:/tupian/20230522/www.jb51.net
- function
keyED(
$txt
,$encrypt_key
)
- {
- $encrypt_key
= md5
(
$encrypt_key
)
; - $ctr
=0
; - $tmp
= ""
; - for
(
$i
=0
;$i(
$txt
)
;$i
++)
- {
- if
(
$ctr
==strlen
(
$encrypt_key
)
)
$ctr
=0
; - $tmp
.= substr
(
$txt
,$i
,1
)
^ substr
(
$encrypt_key
,$ctr
,1
)
; - $ctr
++; - }
- return
$tmp
; - }
- function
encrypt(
$txt
,$key
)
- {
- srand
(
(
double)
microtime
(
)
*1000000
)
; - $encrypt_key
= md5
(
rand
(
0
,32000
)
)
; - $ctr
=0
; - $tmp
= ""
; - for
(
$i
=0
;$i(
$txt
)
;$i
++)
- {
- if
(
$ctr
==strlen
(
$encrypt_key
)
)
$ctr
=0
; - $tmp
.= substr
(
$encrypt_key
,$ctr
,1
)
. (
substr
(
$txt
,$i
,1
)
^ substr
(
$encrypt_key
,$ctr
,1
)
)
; - $ctr
++; - }
- return
keyED(
$tmp
,$key
)
; - }
- function
decrypt(
$txt
,$key
)
- {
- $txt
= keyED(
$txt
,$key
)
; - $tmp
= ""
; - for
(
$i
=0
;$i(
$txt
)
;$i
++)
- {
- $md5
= substr
(
$txt
,$i
,1
)
; - $i
++; - $tmp
.= (
substr
(
$txt
,$i
,1
)
^ $md5
)
; - }
- return
$tmp
; - }
- $key
= "www.yitu.org"
; - $string
= "我是加密字符"
; - // encrypt $string, and store it in $enc_text
- $enc_text
= encrypt(
$string
,$key
)
; - // decrypt the encrypted text $enc_text, and store it in $dec_text
- $dec_text
= decrypt(
$enc_text
,$key
)
; - print
"加密的 text : $enc_text
"
; - print
"解密的 text : $dec_text
"
; - ?>
每一次加密后的结果是不一样的,大大加强了密码的安全性.
以上是“PHP如何实现加密函数并支持私人密钥”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注创新互联行业资讯频道!
分享文章:PHP如何实现加密函数并支持私人密钥-创新互联
URL标题:http://scpingwu.com/article/dgepge.html