php算法示范:
<?php $time=time().'000'; $ip=get_real_ip(); $sign=bin2hex(aes128Encrypt('91flv',"timestamp=".$time."&ip=".$ip)); function aes128Encrypt($key, $data) { $padding = 16 - (strlen($data) % 16); $data .= str_repeat(chr($padding), $padding); $keySize = 16; $ivSize = 16; $rawKey = $key; $genKeyData = ''; do { $genKeyData = $genKeyData.md5( $genKeyData.$rawKey, true ); } while( strlen( $genKeyData ) < ($keySize + $ivSize) ); $generatedKey = substr( $genKeyData, 0, $keySize ); $generatedIV = substr( $genKeyData, $keySize, $ivSize ); return mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $generatedKey, $data, MCRYPT_MODE_CBC, $generatedIV); } function get_real_ip(){ $ip=false; if(!empty($_SERVER["HTTP_CLIENT_IP"])){ $ip = $_SERVER["HTTP_CLIENT_IP"]; } if (!empty($_SERVER['HTTP_X_FORWARDED_FOR'])) { $ips = explode (", ", $_SERVER['HTTP_X_FORWARDED_FOR']); if ($ip) { array_unshift($ips, $ip); $ip = FALSE; } for ($i = 0; $i < count($ips); $i++) { if (!eregi ("^(10|172\.16|192\.168)\.", $ips[$i])) { $ip = $ips[$i]; break; } } } return ($ip ? $ip : $_SERVER['REMOTE_ADDR']); } ?>
把以上算法放在动态页面,然后在播放下面的index.m3u8地址这里加上
?sign=<?php echo $sgin; ?>