PHP如何实现加密函数并支持私人密钥
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要为大家展示了"PHP如何实现加密函数并支持私人密钥",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PHP如何实现加密函数并支持私人密钥"这篇文章
千家信息网最后更新 2024年11月14日PHP如何实现加密函数并支持私人密钥
这篇文章主要为大家展示了"PHP如何实现加密函数并支持私人密钥",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"PHP如何实现加密函数并支持私人密钥"这篇文章吧。
在开发PHP系统时,会员部分往往是一个必不可少的模块,而密码的处理又是不得不面对的问题,PHP 的 Mcrypt 加密库又需要额外设置,很多人都是直接使用md5()函数加密,这个方法的确安全,但是因为md5是不可逆加密,无法还原密码,因此也有一些不便之处,本文介绍加密函数支持私钥,用起来还是不错的.
代码如下:
PHP:
- // 说明:PHP 写的加密函数,支持私人密钥
- // 整理:https://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如何实现加密函数并支持私人密钥"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
加密
函数
支持
密钥
私人
内容
密码
篇文章
安全
学习
帮助
不错
不便
代码
会员
又是
字符
安全性
必不可少
方法
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
linux搭建服务器
数据库的安全性是怎么考虑的
黄淮学院网络安全期末考试题
未满5年服务器
行业标准数据库
软件开发的操作可行性是指
你知道哪些网络安全
服务器主机加固一些经验分享
网络安全绩效考核方案
曲靖市国家网络安全宣传周
饥荒联机版服务器管理回档
企业管理软件开发方案价钱
阿里云服务器自动重启
船舶网络安全管理
网络安全技术与应用的期末
我的世界服务器怎么做帮派系统
服务器怎么修改中文
绵阳美容行业直销软件开发
三星电视怎么设置网络安全
数据库技术与应用上机考试题
servlet删除数据库
网络安全普及策划
戴尔r720服务器卡住
网络安全和功能安全翻译
未转变者服务器mod
网络安全防护建设方案
网络安全工程是干什么的
数据库汉字显示问号
元神如何转服务器移动端
十堰讯联网络技术有限公司