美文网首页
2018-08-12

2018-08-12

作者: _小老虎_ | 来源:发表于2018-08-12 20:48 被阅读23次
    package cn.vcinema.terminal.cache;
    
    import cn.vcinema.terminal.basic.Base64;
    import com.google.devtools.build.android.desugar.runtime.ThrowableExtension;
    import java.net.URLEncoder;
    import java.security.MessageDigest;
    import java.util.HashMap;
    import java.util.Map;
    import javax.crypto.Cipher;
    import javax.crypto.spec.IvParameterSpec;
    import javax.crypto.spec.SecretKeySpec;
    
    public class Play
    {
      private static final byte[] a = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
      private static final char[] b = "0123456789ABCDEF".toCharArray();
      private static final int c = 3600;
      private static final int d = 15;
      
      private static String a(String paramString)
      {
        try
        {
          Object localObject = MessageDigest.getInstance("MD5");
          paramString = paramString.toCharArray();
          int j = 0;
          byte[] arrayOfByte = new byte[paramString.length];
          int i = 0;
          while (i < paramString.length)
          {
            arrayOfByte[i] = ((byte)paramString[i]);
            i += 1;
          }
          paramString = ((MessageDigest)localObject).digest(arrayOfByte);
          localObject = new StringBuilder();
          int k = paramString.length;
          i = j;
          while (i < k)
          {
            j = paramString[i] & 0xFF;
            if (j < 16) {
              ((StringBuilder)localObject).append("0");
            }
            ((StringBuilder)localObject).append(Long.toHexString(j));
            i += 1;
          }
          return ((StringBuilder)localObject).toString();
        }
        catch (Exception paramString)
        {
          ThrowableExtension.printStackTrace(paramString);
        }
        return null;
      }
      
      private static String a(String paramString1, String paramString2)
      {
        if (paramString2 == null) {
          return null;
        }
        try
        {
          if (paramString2.length() != 16) {
            return null;
          }
          paramString2 = new SecretKeySpec(paramString2.getBytes("ASCII"), "AES");
          Cipher localCipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
          localCipher.init(2, paramString2, new IvParameterSpec(a));
          new Base64();
          paramString1 = new String(localCipher.doFinal(Base64.decode(paramString1)));
          return paramString1;
        }
        catch (Exception paramString1)
        {
          ThrowableExtension.printStackTrace(paramString1);
        }
        return null;
      }
      
      private static String b(String paramString)
      {
        StringBuilder localStringBuilder = new StringBuilder();
        paramString = paramString.getBytes();
        int i = 0;
        while (i < paramString.length)
        {
          localStringBuilder.append(b[((paramString[i] & 0xFF) >> 4)]);
          localStringBuilder.append(b[(paramString[i] & 0xF)]);
          i += 1;
        }
        return localStringBuilder.toString().trim();
      }
      
      public static Map getPlayUrl(String paramString, long paramLong1, long paramLong2, boolean paramBoolean1, boolean paramBoolean2)
        throws Exception
      {
        if ((paramString != null) && (!"".equalsIgnoreCase(paramString)))
        {
          if (paramLong2 == 0L) {
            return null;
          }
          HashMap localHashMap = new HashMap();
          Object localObject = paramString.substring(paramString.indexOf("vcinema.com.cn/") + 14, paramString.indexOf("?"));
          String str = a(paramString.substring(paramString.indexOf("?auth_key=") + 10), "bREd2Yr2Pv4Rr4PT");
          if ((!paramString.startsWith("http://s1.cdn.")) && (!paramString.startsWith("https://s1.cdn.")) && (!paramString.startsWith("http://dev.s1.cdn.")) && (!paramString.startsWith("https://dev.s1.cdn.")))
          {
            if ((!paramString.startsWith("http://s2.cdn.")) && (!paramString.startsWith("https://s2.cdn.")) && (!paramString.startsWith("http://dev.s2.cdn.")) && (!paramString.startsWith("https://dev.s2.cdn.")))
            {
              if ((!paramString.startsWith("http://s7.cdn.")) && (!paramString.startsWith("https://s7.cdn.")) && (!paramString.startsWith("http://dev.s7.cdn.")) && (!paramString.startsWith("https://dev.s7.cdn.")))
              {
                if ((!paramString.startsWith("http://s9.cdn.")) && (!paramString.startsWith("https://s9.cdn.")) && (!paramString.startsWith("http://dev.s9.cdn.")) && (!paramString.startsWith("https://dev.s9.cdn.")))
                {
                  if ((!paramString.startsWith("http://s3.cdn.")) && (!paramString.startsWith("https://s3.cdn.")) && (!paramString.startsWith("http://dev.s3.cdn.")) && (!paramString.startsWith("https://dev.s3.cdn.")))
                  {
                    if ((!paramString.startsWith("http://s5.cdn.")) && (!paramString.startsWith("https://s5.cdn.")) && (!paramString.startsWith("http://dev.s5.cdn.")) && (!paramString.startsWith("https://dev.s5.cdn.")))
                    {
                      if ((!paramString.startsWith("http://s6.cdn.")) && (!paramString.startsWith("https://s6.cdn.")) && (!paramString.startsWith("http://dev.s6.cdn.")) && (!paramString.startsWith("https://dev.s6.cdn."))) {
                        return null;
                      }
                      paramLong1 = paramLong2 / 1000L + 3600L + paramLong1;
                      localHashMap.put("invalid_time", Long.valueOf(paramLong1));
                      localStringBuilder = new StringBuilder();
                      localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
                      localStringBuilder.append((String)localObject);
                      localStringBuilder.append("?f3tm=");
                      localStringBuilder.append(paramLong1);
                      localStringBuilder.append("&f3key=");
                      paramString = new StringBuilder();
                      paramString.append(str);
                      paramString.append((String)localObject);
                      paramString.append(paramLong1);
                      localStringBuilder.append(a(paramString.toString()));
                      localHashMap.put("play_url", localStringBuilder.toString());
                      localHashMap.put("play_type", PlayType.CDN);
                      return localHashMap;
                    }
                    paramLong1 = paramLong2 / 1000L + 3600L + paramLong1;
                    localHashMap.put("invalid_time", Long.valueOf(paramLong1));
                    localStringBuilder = new StringBuilder();
                    localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
                    localStringBuilder.append((String)localObject);
                    localStringBuilder.append("?token=");
                    paramString = new StringBuilder();
                    paramString.append((String)localObject);
                    localObject = new StringBuilder();
                    ((StringBuilder)localObject).append(paramLong1);
                    ((StringBuilder)localObject).append("");
                    paramString.append(b(((StringBuilder)localObject).toString()));
                    paramString.append(str);
                    localStringBuilder.append(a(paramString.toString()));
                    localStringBuilder.append("&txTime=");
                    paramString = new StringBuilder();
                    paramString.append(paramLong1);
                    paramString.append("");
                    localStringBuilder.append(b(paramString.toString()));
                    localHashMap.put("play_url", localStringBuilder.toString());
                    if (paramBoolean2)
                    {
                      localHashMap.put("play_type", PlayType.QCLOUD_P2P);
                      return localHashMap;
                    }
                    localHashMap.put("play_type", PlayType.CDN);
                    return localHashMap;
                  }
                  paramLong1 = paramLong2 / 1000L + 3600L + paramLong1;
                  localHashMap.put("invalid_time", Long.valueOf(paramLong1));
                  localStringBuilder = new StringBuilder();
                  localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
                  localStringBuilder.append((String)localObject);
                  localStringBuilder.append("?k=");
                  paramString = new StringBuilder();
                  paramString.append(str);
                  paramString.append((String)localObject);
                  paramString.append(paramLong1);
                  localStringBuilder.append(a(paramString.toString()));
                  localStringBuilder.append("&t=");
                  localStringBuilder.append(paramLong1);
                  localHashMap.put("play_url", localStringBuilder.toString());
                  localHashMap.put("play_type", PlayType.CDN);
                  return localHashMap;
                }
                paramLong1 = paramLong2 / 1000L + 15L;
                localHashMap.put("invalid_time", Long.valueOf(paramLong1));
                localStringBuilder = new StringBuilder();
                localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
                localStringBuilder.append((String)localObject);
                localStringBuilder.append("?_upt=");
                paramString = new StringBuilder();
                paramString.append(str);
                paramString.append("&");
                paramString.append(paramLong1);
                paramString.append("&");
                paramString.append((String)localObject);
                localStringBuilder.append(a(paramString.toString()).substring(12, 20));
                localStringBuilder.append(paramLong1);
                localHashMap.put("play_url", localStringBuilder.toString());
                localHashMap.put("play_type", PlayType.CDN);
                return localHashMap;
              }
              paramLong1 = paramLong2 / 1000L + 15L;
              localHashMap.put("invalid_time", Long.valueOf(paramLong1));
              localStringBuilder = new StringBuilder();
              localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
              localStringBuilder.append((String)localObject);
              localStringBuilder.append("?auth_key=");
              localStringBuilder.append(paramLong1);
              localStringBuilder.append("-0-0-");
              paramString = new StringBuilder();
              paramString.append((String)localObject);
              paramString.append("-");
              paramString.append(paramLong1);
              paramString.append("-0-0-");
              paramString.append(str);
              localStringBuilder.append(a(paramString.toString()));
              localHashMap.put("play_url", localStringBuilder.toString());
              localHashMap.put("play_type", PlayType.CDN);
              return localHashMap;
            }
            paramLong1 = paramLong2 / 1000L + 15L;
            localHashMap.put("invalid_time", Long.valueOf(paramLong1));
            localStringBuilder = new StringBuilder();
            localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
            localStringBuilder.append((String)localObject);
            localStringBuilder.append("?sign=");
            paramString = new StringBuilder();
            paramString.append(str);
            paramString.append(URLEncoder.encode((String)localObject));
            paramString.append(paramLong1);
            localStringBuilder.append(a(paramString.toString().replace("%2F", "/")));
            localStringBuilder.append("&t=");
            localStringBuilder.append(paramLong1);
            localHashMap.put("play_url", localStringBuilder.toString());
            localHashMap.put("play_type", PlayType.CDN);
            return localHashMap;
          }
          paramLong1 = paramLong2 / 1000L + 3600L + paramLong1;
          StringBuilder localStringBuilder = new StringBuilder();
          localStringBuilder.append(paramString.substring(0, paramString.indexOf("vcinema.com.cn") + 14));
          localStringBuilder.append((String)localObject);
          localStringBuilder.append("?auth_key=");
          localStringBuilder.append(paramLong1);
          localStringBuilder.append("-0-0-");
          paramString = new StringBuilder();
          paramString.append((String)localObject);
          paramString.append("-");
          paramString.append(paramLong1);
          paramString.append("-0-0-");
          paramString.append(str);
          localStringBuilder.append(a(paramString.toString()));
          localHashMap.put("play_url", localStringBuilder.toString());
          if (paramBoolean1) {
            localHashMap.put("play_type", PlayType.ALI_PCDN);
          } else {
            localHashMap.put("play_type", PlayType.CDN);
          }
          localHashMap.put("invalid_time", Long.valueOf(paramLong1));
          return localHashMap;
        }
        return null;
      }
    }
    

    相关文章

      网友评论

          本文标题:2018-08-12

          本文链接:https://www.haomeiwen.com/subject/oglebftx.html