php域名加密,php加密解密算法,也可以用于短域名生成

// 加密:

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

$k = ($k == strlen($password)) ? 0 : $k;

$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

$k = ($k == strlen($password)) ? 0 : $k;

$j = strpos($lockstream,$txtStream[$i]) - $lockCount - ord($password[$k]);

while($j < 0){

$j = $j + ($lockLen);

}

$tmpStream .= $lockstream[$j];

$k++;

}

return base64_decode($tmpStream);

}

?>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值