package com.kwad.sdk.utils; import android.content.Context; import android.content.pm.PackageInfo; import android.content.pm.Signature; import android.text.TextUtils; import com.kwad.sdk.core.e.b; import java.security.MessageDigest; import java.util.ArrayList; import java.util.HashMap; import kotlin.UByte; public final class e { private static String bAA; private static HashMap<String, ArrayList<String>> bAz = new HashMap<>(); private static ArrayList<String> R(Context context, String str) { String packageName; if (context == null || (packageName = context.getPackageName()) == null) { return null; } if (bAz.get(str) != null) { return bAz.get(str); } ArrayList<String> arrayList = new ArrayList<>(); try { Signature[] S = S(context, packageName); for (Signature signature : S) { String str2 = "error!"; if ("MD5".equals(str)) { str2 = a(signature, "MD5"); } else if ("SHA1".equals(str)) { str2 = a(signature, "SHA1"); } else if ("SHA256".equals(str)) { str2 = a(signature, "SHA256"); } arrayList.add(str2); } } catch (Exception e) { b.e("AppSigningUtil", "签名信息列表获取失败 " + e.getMessage()); } bAz.put(str, arrayList); return arrayList; } private static Signature[] S(Context context, String str) { try { PackageInfo packageInfo = context.getPackageManager().getPackageInfo(str, 64); if (packageInfo == null) { return null; } return packageInfo.signatures; } catch (Exception e) { b.e("AppSigningUtil", e.getMessage()); return null; } } private static String a(Signature signature, String str) { byte[] byteArray = signature.toByteArray(); try { MessageDigest instance = MessageDigest.getInstance(str); if (instance == null) { return "error!"; } byte[] digest = instance.digest(byteArray); StringBuilder sb = new StringBuilder(); for (byte b : digest) { sb.append(Integer.toHexString((b & UByte.MAX_VALUE) | 256).substring(1, 3).toUpperCase()); sb.append(":"); } return sb.substring(0, sb.length() - 1); } catch (Exception e) { b.e("AppSigningUtil", e.getMessage()); return "error!"; } } public static String cd(Context context) { if (!TextUtils.isEmpty(bAA)) { return bAA; } ArrayList<String> R = R(context, "SHA1"); if (!(R == null || R.size() == 0)) { bAA = R.get(0); } return bAA; } }