分享一个php加密方法,这个方法还比较实用

分享一个php加密方法,这个方法还比较实用,第1张

我们在开发过程中,有的时候GET传值,字符串太伏册长,我们可以用这个方和厅旦法,在传值之前先调用函数lock_url(加密字符串),加密以后在传递唤扰,GET接受以后用函数unlock_url(待解密字符串)进行解密。

如果大家有更好更简单的方法,发评论区我们一起讨论学习!

function lock_url($txt)

{

$key = ']!L]<_w{O}zEIs!.f(T[|ZGQaxS":?#`v%EburotLZi"KdKs@QivlJ[PjWw`.wcT'//key

$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"

$nh = rand(0,64)

$ch = $chars[$nh]

$mdKey = md5($key.$ch)

$mdKey = substr($mdKey,$nh%8, $nh%8+7)

$txt = base64_encode($txt)

$tmp = ''

$i=0$j=0$k = 0

for ($i=0$i<strlen($txt)p="" {

$k = $k == strlen($mdKey) ? 0 : $k

$j = ($nh+strpos($chars,$txt[$i])+ord($mdKey[$k++]))%64

$tmp .= $chars[$j]

}

return urlencode($ch.$tmp)

}

//解密函数

function unlock_url($txt)

{

$key = ']!L]<_w{O}zEIs!.f(T[|ZGQaxS":?#`v%EburotLZi"KdKs@QivlJ[PjWw`.wcT'//key

$txt = urldecode($txt)

$chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-=+"

$ch = $txt[0]

$nh = strpos($chars,$ch)

$mdKey = md5($key.$ch)

$mdKey = substr($mdKey,$nh%8, $nh%8+7)

$txt = substr($txt,1)

$tmp = ''

$i=0$j=0$k = 0

for ($i=0$i<strlen($txt)p="" {

$k = $k == strlen($mdKey) ? 0 : $k

$j = strpos($chars,$txt[$i])-$nh - ord($mdKey[$k++])

while ($j<0) $j+=64

$tmp .= $chars[$j]

}

return base64_decode($tmp)

}

MD的全称为:MachineDescription文件,是一个开发文件,用于程序。

MachineDescription文件:包括一个目标机器支持的每个指令的指令模式的开发文件,被GNU编译程序集(GCC)引用,通常用于Unix系统中的编译程序。

MD文件扩展名如下:

(1)MDCD压缩文件 :文件或 文件组使用MDCD压缩器压缩;

(2)Amiga LZX压缩文链禅件 :保存为Moneydance的数据文件,一个个人资金软件程序,比Intuit Quicken 或 Microsoft Money更小,保存银行账户,报表,预算,股票档案和其他信息;

(3)“markdown”的缩写:Markdown是一圆手种可以使用普橘唤嫌通文本编辑器编写的轻量化标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。

注意:该文档格式在github上有广泛应用,用于代替传统的txt文本,同时又比html简单,这样有注于专注文章内容。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12214186.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存