最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
php加密解密算法,也可以用于短域名生成
时间:2022-06-25 02:38:45 编辑:袖梨 来源:一聚教程网
加密:
function string_secret($string)
{
$key = "yadgen";
//密锁串,不能出现重复字符,内有A-Z,a-z,0-9,/,=,+,_,
$lockstream = 'st=lDEFABCNOPyzghi_jQRST-UwxkVWXYZabcdef+IJK6/7nopqr89LMmGH012345uv';
//随机找一个数字,并从密锁串中找到一个密锁值
$lockLen = strlen($lockstream);
$lockCount = rand(0,$lockLen-1);
$randomLock = $lockstream[$lockCount];
//结合随机密锁值生成MD5后的密码
$password = md5($key.$randomLock);
//开始对字符串加密
$txtStream = base64_encode($string);
$tmpStream = '';
$i=0;$j=0;$k = 0;
for ($i=0; $i
$j = (strpos($lockstream,$txtStream[$i])+$lockCount+ord($password[$k]))%($lockLen);
$tmpStream .= $lockstream[$j];
$k++;
}
return $tmpStream.$randomLock;
}
解密:
function secret_string($string)
{
$key = "yadgen";
//密锁串,不能出现重复字符,内有A-Z,a-z,0-9,/,=,+,_,
$lockstream = 'st=lDEFABCNOPyzghi_jQRST-UwxkVWXYZabcdef+IJK6/7nopqr89LMmGH012345uv';
$lockLen = strlen($lockstream);
//获得字符串长度
$txtLen = strlen($string);
//截取随机密锁值
$randomLock = $string[$txtLen - 1];
//获得随机密码值的位置
$lockCount = strpos($lockstream,$randomLock);
//结合随机密锁值生成MD5后的密码
$password = md5($key.$randomLock);
//开始对字符串解密
$txtStream = substr($string,0,$txtLen-1);
$tmpStream = '';
$i=0;$j=0;$k = 0;
for($i=0; $i
$j = strpos($lockstream,$txtStream[$i]) - $lockCount - ord($password[$k]);
while($j < 0){
$j = $j + ($lockLen);
}
$tmpStream .= $lockstream[$j];
$k++;
}
return base64_decode($tmpStream);
}
相关文章
- 2025年7月以太坊(ETH)价格预测 07-01
- 新三国志曹操传PVP竞技阵容搭配推荐 07-01
- 银与绯始祖队玩法攻略介绍说明 07-01
- 最新教程:币圈财富进阶攻略:从1万到1200万的实战指南 07-01
- XRP ETF传闻四起:贝莱德施压SEC之际,Ripple放弃交叉上诉 07-01
- 盲盒派对竞技场匹配机制介绍说明 07-01