Heim > Backend-Entwicklung > PHP-Tutorial > 用php改写百度mp3地址的加密模式

用php改写百度mp3地址的加密模式

WBOY
Freigeben: 2016-06-13 13:03:03
Original
1061 Leute haben es durchsucht

用php改写百度mp3地址的加密方式

百度mp3地址是加密过的,具体加密方式大家自己看吧.解码函数如下:

//copyright http://www.k686.com
 //author tuzwu58@gmail.com
                function decode(url){
                    var len = url.length;
                    var decurl = "";
                    var asc_arr1 = [], asc_arr2 = [];

                    var key = sertim % 26;
 
                  key = key ? key : 1;

                    function init(head, bottom, middle){
                        for (var i = head; i <= bottom; i++) {
                            asc_arr1[i] = i + middle;
                            asc_arr2[i + middle] = i;
                        }
                    }

                    init(0, 9, 48);
                    init(10, 35, 55);//http://www.k686.com
                    init(36, 61, 61);

                    for (var i = 0; i < len; i++) {
                        var word = url.charAt(i);
        if (/[A-Za-z0-9]/.test(word)) {
                            var pos = asc_arr2[url.charCodeAt(i)] - key;
                            if (pos < 0)
                                pos += 62;
                            word = String.fromCharCode(asc_arr1[pos]);
                        }
                        decurl += word;
                    }
                    return decurl;
                }
Nach dem Login kopieren

?

传入的字符串格式形如:

str = "o00w://333.osq.z0h0z.nv2.ju/q5/4p14phuzopN1hun/44zn977D7A9F8G-7A.twA";
var sertim = 1289225685;

?

两个变量需要带入到上面的函数,这样才能解析为一个标准的url地址.

?

下面是php改写后的:

 //copyright http://www.k686.com
 //author tuzwu58@gmail.com
                function decode($url,$sertim){
                    $len = strlen($url);
                    $decurl = "";
                    $asc_arr1 = array();
					$asc_arr2 = array();

                    $key = $sertim % 26;
 
                  $key = $key ? $key : 1;
//第1次 http://www.k686.com
                        for ($i = 0; $i <= 9; $i++) {
                            $asc_arr1[$i] = $i + 48;
                            $asc_arr2[$i + 48] = $i;
                        }
//第2次
                        for ($i = 10; $i <= 35; $i++) {
                            $asc_arr1[$i] = $i + 55;
                            $asc_arr2[$i + 55] = $i;
                        }
//第3次
                        for ($i = 36; $i <= 61; $i++) {
                            $asc_arr1[$i] = $i + 61;
                            $asc_arr2[$i + 61] = $i;
                        }
//end http://www.k686.com
                    for ($i = 0; $i < $len; $i++) {
                        $word = substr($url,$i,1);

        if (preg_match("/[A-Za-z0-9]/",$word)) {
                            $pos = $asc_arr2[ord(substr($url,$i,1))] - $key;
                            if ($pos < 0){
                                $pos += 62;
							}
                            $word = chr($asc_arr1[$pos]);
                        }
                        $decurl .= $word;
                    }

                    return $decurl;
                }
$str = 'o00w://333.osq.z0h0z.nv2.ju/q5/4p14phuzopN1hun/44zn977D7A9F8G-7A.twA';
$sertim = 1289225685;
echo decode($str,$sertim);
Nach dem Login kopieren

?

算是用php改写了js函数,功能是一模一样的.传入的两个参数都可以在百度mp3页面找得到的.

?

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage