php 隐藏mp3地址下载地址,虾米音乐mp3地址解密javascript版和PHP版

虾米音乐国内音乐互联网平台中最完善的平台。和网易、新浪等多家都有合作,用户体验也非常好。

为了能充分利用虾米音乐做自己喜欢的音乐相关小工具,特将虾米音乐相关的接口公布出来,供大家使用。这些接口包含了音乐联想搜索、音乐详情、mp3地址解码等,基本上覆盖了音乐应用的全部方面。

ZDNet广播体操片头曲点播平台就是一个很好的应用

联想搜接口地址:

http://www.xiami.com/ajax/search-index?key=朋友

音乐详情接口地址:

http://www.xiami.com/widget/xml-single/uid/0/sid/72299

音乐详情包含歌曲的名字、作者、专辑、封面图以及mp3下载地址。但是这个下载地址是加密的,需要以下解密函数解密:

mp3下载地址解密javascript版:

function sospa(str)

{

var totle = parseInt(str);

var newString = str.substr(1);

var chu = Math.floor(newString.length / totle);

var yu = newString.length % totle;

var stor = new Array();

var i;

for(i = 0;i

{

stor[i] = newString.substr((chu+1)*i,chu+1);

}

for(i=yu;i

{

stor[i] = newString.substr(chu*(i-yu)+(chu+1)*yu,chu);

}

var pinString = '';

for(i=0;i

{

for(j=0;j

{

pinString += stor[j].substr(i,1);

}

}

pinString = rtan(pinString);

var returnString = '';

for(i=0;i

{

if(pinString.substr(i,1)=='^')

{

returnString += "0";

} else {

returnString += pinString.substr(i,1);

}

}

return returnString;

}

function rtan(str){

var ret="";

for(var i=0;i

var chr = str.charAt(i);

if(chr == "+"){

ret+=" ";

}else if(chr=="%"){

var asc = str.substring(i+1,i+3);

if(parseInt("0x"+asc)>0x7f){

ret+=String.fromCharCode(parseInt("0x"+asc+str.substring(i+4,i+6)));

i+=5;

}else{

ret+=String.fromCharCode(parseInt("0x"+asc));

i+=2;

}

}else{

ret+= chr;

}

}

return ret;

}

mp3下载地址PHP版:

public function xiami_decode($str){

//$str = '9hFaF76%6t%m17%59t2i162E%pF.6%545%fn4222E31e%F%3.A.t2%5_m%x%F5E7p2i25E743';

$totle = (int)$str;

$newString = substr($str, 1);

$chu = floor(strlen($newString) / $totle);

$yu = strlen($newString) % $totle;

$stor = array();

$i = 0;

for($i=0; $i

$stor[$i] = substr($newString, ($chu + 1) * $i, $chu + 1);

}

for($i=$yu; $i

$stor[$i] = substr($newString, $chu * ($i - $yu) + ($chu + 1) * $yu, $chu);

}

$pinString = '';

for($i=0; $i

for($j=0; $j

$pinString .= substr($stor[$j], $i, 1);

}

}

$pinString = rawurldecode($pinString);

$returnString = '';

for($i=0; $i

if(substr($pinString, $i, 1) == '^'){

$returnString .= '0';

}else{

$returnString .= substr($pinString, $i, 1);

}

}

return $returnString;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值