PHP 生成短连接地址

阅读: 评论:0

PHP 生成短连接地址

PHP 生成短连接地址

生成的链接需要循环再去短连接表中去重。

private function generateShortUrl($url = '')
{$charset = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";$key = 'WOOD-HEAD'; //加盐$urlHash = md5($key . $url);$len = strlen($urlHash);//将加密后的串分成4段,每段4字节,对每段进行计算,一共可以生成四组短连接$shortUrlList = [];for ($i = 0; $i < 4; $i++) {$urlHashPiece = substr($urlHash, $i * $len / 4, $len / 4);//将分段的位与0x3fffffff做位与,0x3fffffff表示二进制数的30个1,即30位以后的加密串都归零//此处需要用到hexdec()将16进制字符串转为10进制数值型,否则运算会不正常$hex = hexdec($urlHashPiece) & 0x3fffffff;//域名根据需求填写$shortUrl = '';//生成6位短网址for ($j = 0; $j < 6; $j++) {//将得到的值与0x0000003d,3d为61,即charset的坐标最大值$shortUrl .= $charset[$hex & 0x0000003d];//循环完以后将hex右移5位$hex = $hex >> 5;}$shortUrlList[] = $shortUrl;}return $shortUrlList;
}

本文发布于:2024-02-01 17:17:53,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170678130638350.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:地址   PHP
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23