此处仅作记录。
<?php
function streamCode($enstr, $token = "wasu!@#48217#$@#1") {
$klen = 4;
if (strstr($enstr,".mp4")) {
return $enstr;
}
$token = md5($token);
$tm = $_SERVER['REQUEST_TIME'];
$key1 = md5(substr($token, 0, 16));
$key2 = md5(substr($token, 16, 32));
$key3 = substr($enstr, 0, $klen);
$key4 = $key1.md5($key1.$key3);
$keylen = strlen($key4);
$enstr = base64_decode(substr($enstr, $klen));
$l16 = 0;
$l14 = array();
$l15 = array();
$local13 = strlen($enstr);
while ($l16 < 128){
$l14[$l16] = $l16;
$l15[$l16] = ord(substr($key4, $l16 % $keylen, 1)) & 0xff;
$l16++;
}
$l16 = 0;
$l17 = $l16;
while ($l16 < 128) {
$l17 = (($l17 + $l14[$l16]) + $l15[$l16]) % 128;
$l19 = $l14[$l16];
$l14[$l16] = $l14[$l17];
$l14[$l17] = $l19;
$l16++;
}
$l16 = 0;
$l20 = array();
$l17 = $l16;
$l18 = $l17;
while ($l16 < $local13) {
$l18 = (($l18 + 1) % 128);
$l17 = (($l17 + $l14[$l18]) % 128);
$l19 = $l14[$l18];
$l14[$l18] = $l14[$l17];
$l14[$l17] = $l19;
$l20[] = ((ord(substr($enstr, $l16, 1)) & 0xFF) ^ $l14[(($l14[$l18] + $l14[$l17]) % 128)]);
$l16++;
}
$toStr = "";
for($i = 0; $i < count($l20); $i++){
$toStr .= chr($l20[$i]);
}
return strlen($toStr) > 26 ? substr($toStr, 26) : "";
}
function get_WasuVODUrl($url) {
$play = parse_url($url);
$tm = $_SERVER['REQUEST_TIME'];
$timestamp = date("YmdHi", $tm);
$token = sprintf("%s%s%s", "ccVOD@)!#\$WASUPC", $timestamp, $play['path']);
return sprintf("http://clientvod.wasu.cn/%s/%s%s", $timestamp, md5($token), $play['path']);
}
$url = "";
$link = isset($_REQUEST['url']) ? $_REQUEST['url'] : "";
$enstr = empty($_REQUEST['enstr']) ? "" : $_REQUEST['enstr'];
if (strlen($enstr) > 32) {
$url = streamCode($enstr);
} else if (strlen($link) > 15) {
$url = @get_WasuVODUrl(base64_decode($link));
}
echo '{"url":"'.$url.'"}';
?>