nginx
location / {
secure_link $arg_st,$arg_e;
secure_link_md5 secret$arg_e;
if ($secure_link = "") {
return 402;
}
if ($secure_link = "0") {
return 403;
}
}
JAVA
String path = "/aaaa";
String secret = "secret ";
String expire = String.valueOf(System.currentTimeMillis()/1000+10);
String st = Codec.hexMD5(secret+expire);
st = Base64.encodeBase64URLSafeString(Codec.hexStringToByte(st));
String param = "?st="+st+"&e="+expire;
String url = "http://www.xxx.com"+path+param;
PHP
<?php
$secret = 'secret'; // 秘钥.
$expire = time()+10; // 过期时间
echo $expire;
echo "</br>";
echo time();
echo "</br>";
$md5 = base64_encode(md5($secret . $expire, true));
$md5 = strtr($md5, '+/', '-_'); // + and / are considered special characters in URLs, see the wikipedia page linked in references.
$md5 = str_replace('=', '', $md5); // When used in query parameters the base64 padding character is considered special.
echo $md5;
echo '?st='.$md5.'&e='.$expire;
?>