分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

php 加密解密函数封装

发布时间:2023-09-06 02:28责任编辑:傅花花关键词:加密解密

算法一: 

//加密函数function lock_url($txt,$key=‘yang‘){ ?$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); $i++) { ???$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=‘yang‘){ ?$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); $i++) { ???$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);}

算法二:

function passport_encrypt($txt, $key = ‘yang‘) { ??srand((double)microtime() * 1000000); ??$encrypt_key = md5(rand(0, 32000)); ??$ctr = 0; ??$tmp = ‘‘; ??for($i = 0;$i < strlen($txt); $i++) { ??$ctr = $ctr == strlen($encrypt_key) ? 0 : $ctr; ??$tmp .= $encrypt_key[$ctr].($txt[$i] ^ $encrypt_key[$ctr++]); ??} ??return urlencode(base64_encode(passport_key($tmp, $key))); } function passport_decrypt($txt, $key = ‘yang‘) { ??$txt = passport_key(base64_decode(urldecode($txt)), $key); ??$tmp = ‘‘; ??for($i = 0;$i < strlen($txt); $i++) { ??$md5 = $txt[$i]; ??$tmp .= $txt[++$i] ^ $md5; ??} ??return $tmp; } 

算法三:

//加密函数function lock_url($txt,$key=‘yang‘){ ?$txt = $txt.$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); $i++) { ???$k = $k == strlen($mdKey) ? 0 : $k; ???$j = ($nh+strpos($chars,$txt[$i])+ord($mdKey[$k++]))%64; ???$tmp .= $chars[$j]; ?} ?return urlencode(base64_encode($ch.$tmp));}//解密函数function unlock_url($txt,$key=‘yang‘){ ?$txt = base64_decode(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); $i++) { ???$k = $k == strlen($mdKey) ? 0 : $k; ???$j = strpos($chars,$txt[$i])-$nh - ord($mdKey[$k++]); ???while ($j<0) $j+=64; ???$tmp .= $chars[$j]; ?} ?return trim(base64_decode($tmp),$key);}

php 加密解密函数封装

原文地址:https://www.cnblogs.com/yang-2018/p/10195206.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved