和通讯录 v3.9.6版本的 MD5 值为:669178e2ee1b2311daf378bd20c6bbe1

以下内容为反编译后的 h.java 源代码,内容仅作参考


package com.chinamobile.icloud.im.sync.c;

import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;
import com.google.android.mms.pdu.EncodedStringValue;
import com.huawei.tep.component.net.http.HttpConstant;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.ByteArrayOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.security.MessageDigest;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.Random;
import java.util.zip.GZIPInputStream;
import javax.net.ssl.HttpsURLConnection;
import javax.net.ssl.SSLContext;
import javax.net.ssl.TrustManager;

public final class h {

    public static String f3999a = "https://a.cytxl.com.cn/";

    public static final String f4000b = f3999a + "mcloud/jsonrpc_api.php";
    public static final String c = f3999a + "pim/jsonrpc_api.php";
    private static final String e = f3999a + "mcloud/jsonrpc_api.php";
    private static String f = e;
    public static final String d = c;
    private static final String g = f3999a + "c/jsonrpc_api.php?%s";

    public static String a() {
        return f;
    }

    public static String a(int i) {
        StringBuffer stringBuffer = new StringBuffer();
        Random random = new Random();
        for (int i2 = 0; i2 < i; i2++) {
            stringBuffer.append(random.nextInt());
        }
        return stringBuffer.toString();
    }

    public static String a(Context context, String str, e eVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar) {
        byte[] b2 = b(context, str, eVar, aVar, aVar instanceof com.chinamobile.icloud.im.sync.b.i ? ((com.chinamobile.icloud.im.sync.b.i) aVar).a() : false);
        if (b2 != null) {
            return new String(b2, EncodedStringValue.StringEncoding.UTF_8);
        }
        return null;
    }

    public static String a(Context context, String str, e eVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar, boolean z) {
        try {
            byte[] b2 = b(context, str, eVar, aVar, z);
            if (b2 != null) {
                return new String(b2, EncodedStringValue.StringEncoding.UTF_8);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        return null;
    }

    public static String a(Context context, String str, String str2) {
        try {
            byte[] b2 = b(context, str, new e(), new i(str2), false);
            if (b2 != null) {
                return new String(b2, EncodedStringValue.StringEncoding.UTF_8);
            }
        } catch (Exception e2) {
            e2.printStackTrace();
        }
        return null;
    }

    public static URLConnection a(Context context, String str) {
        try {
            return new URL(str).openConnection();
        } catch (Exception e2) {
            e2.printStackTrace();
            return null;
        }
    }

    public static void a(InputStream inputStream, OutputStream outputStream) {
        byte[] bArr = new byte[4096];
        while (true) {
            int read = inputStream.read(bArr);
            if (read == -1) {
                return;
            } else {
                outputStream.write(bArr, 0, read);
            }
        }
    }

    public static byte[] a(Context context, String str, e eVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar, boolean z, HashMap<String, String> hashMap) {
        HttpURLConnection httpURLConnection;
        boolean z2;
        byte[] byteArray;
        if (str.startsWith("https")) {
            HttpsURLConnection httpsURLConnection = (HttpsURLConnection) new URL(str).openConnection();
            SSLContext sSLContext = SSLContext.getInstance("TLS");
            sSLContext.init(null, new TrustManager[]{new m()}, new SecureRandom());
            httpsURLConnection.setSSLSocketFactory(sSLContext.getSocketFactory());
            httpsURLConnection.setHostnameVerifier(new l());
            httpURLConnection = httpsURLConnection;
        } else {
            httpURLConnection = (HttpURLConnection) a(context, str);
        }
        j jVar = new j(httpURLConnection);
        try {
            httpURLConnection.setDoInput(true);
            httpURLConnection.setDoOutput(true);
            httpURLConnection.setRequestMethod(HttpConstant.Method.POST);
            httpURLConnection.setRequestProperty(HttpConstant.Header.CONNECTION, "Keep-Alive");
            httpURLConnection.setRequestProperty("Charset", "GB2312");
            httpURLConnection.setRequestProperty("content-type", "text/html");
            if (hashMap != null) {
                for (String str2 : hashMap.keySet()) {
                    httpURLConnection.setRequestProperty(str2, hashMap.get(str2));
                }
            }
            httpURLConnection.setConnectTimeout(60000);
            httpURLConnection.setReadTimeout(60000);
            if (z) {
                httpURLConnection.setRequestProperty("Compress", "gzip");
            }
            httpURLConnection.connect();
            eVar.a(jVar);
            OutputStream outputStream = httpURLConnection.getOutputStream();
            if (aVar != null) {
                aVar.a(outputStream);
                if (aVar instanceof com.chinamobile.icloud.im.sync.b.i) {
                    ((com.chinamobile.icloud.im.sync.b.i) aVar).b();
                }
            }
            InputStream inputStream = httpURLConnection.getInputStream();
            httpURLConnection.getResponseCode();
            String headerField = httpURLConnection.getHeaderField("Compresss");
            if (headerField == null || !headerField.equals("gzip")) {
                z2 = false;
            } else {
                Log.e("ContactManager", "Compress:" + headerField);
                z2 = true;
            }
            if (!z2 || inputStream == null) {
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
                BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(byteArrayOutputStream, 4096);
                a(inputStream, bufferedOutputStream);
                bufferedOutputStream.flush();
                byteArray = byteArrayOutputStream.toByteArray();
                bufferedOutputStream.close();
            } else {
                GZIPInputStream gZIPInputStream = new GZIPInputStream(new BufferedInputStream(inputStream));
                ByteArrayOutputStream byteArrayOutputStream2 = new ByteArrayOutputStream();
                BufferedOutputStream bufferedOutputStream2 = new BufferedOutputStream(byteArrayOutputStream2, 4096);
                a(gZIPInputStream, bufferedOutputStream2);
                bufferedOutputStream2.flush();
                byteArray = byteArrayOutputStream2.toByteArray();
                gZIPInputStream.close();
            }
            outputStream.close();
            return byteArray;
        } finally {
            if (jVar != null) {
                eVar.b(jVar);
            }
            if (httpURLConnection != null) {
                httpURLConnection.disconnect();
            }
        }
    }

    public static byte[] a(String str) {
        try {
            HttpURLConnection httpURLConnection = (HttpURLConnection) new URL(str).openConnection();
            httpURLConnection.connect();
            try {
                Bitmap decodeStream = BitmapFactory.decodeStream(httpURLConnection.getInputStream(), null, new BitmapFactory.Options());
                ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(decodeStream.getWidth() * decodeStream.getHeight() * 4);
                decodeStream.compress(Bitmap.CompressFormat.JPEG, 95, byteArrayOutputStream);
                byteArrayOutputStream.flush();
                byteArrayOutputStream.close();
                decodeStream.recycle();
                return byteArrayOutputStream.toByteArray();
            } finally {
                httpURLConnection.disconnect();
            }
        } catch (Exception e2) {
            com.chinamobile.icloud.im.sync.b.c.c().a(e2);
            e2.printStackTrace();
            return null;
        }
    }

    public static String b() {
        return c;
    }

    public static String b(String str) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("MD5");
            char[] charArray = str.toCharArray();
            byte[] bArr = new byte[charArray.length];
            for (int i = 0; i < charArray.length; i++) {
                bArr[i] = (byte) charArray[i];
            }
            byte[] digest = messageDigest.digest(bArr);
            StringBuffer stringBuffer = new StringBuffer();
            for (byte b2 : digest) {
                int i2 = b2 & 255;
                if (i2 < 16) {
                    stringBuffer.append("0");
                }
                stringBuffer.append(Integer.toHexString(i2));
            }
            return stringBuffer.toString();
        } catch (Exception e2) {
            e2.printStackTrace();
            return "";
        }
    }

    public static byte[] b(Context context, String str, e eVar, com.chinamobile.icloud.im.sync.c.a.a.a aVar, boolean z) {
        return a(context, str, eVar, aVar, z, null);
    }

    public static String c() {
        return "https://a.cytxl.com.cn/mcloud/jsonrpc_api.php";
    }

    public static String c(String str) {
        try {
            MessageDigest messageDigest = MessageDigest.getInstance("SHA-1");
            messageDigest.update(str.getBytes());
            byte[] digest = messageDigest.digest();
            StringBuffer stringBuffer = new StringBuffer();
            for (byte b2 : digest) {
                int i = b2 & 255;
                if (i < 16) {
                    stringBuffer.append("0");
                }
                stringBuffer.append(Integer.toHexString(i));
            }
            return stringBuffer.toString();
        } catch (Exception e2) {
            e2.printStackTrace();
            return "";
        }
    }
}