package com.kwad.sdk.utils; import android.text.TextUtils; import com.kwad.sdk.core.e.b; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.security.MessageDigest; public final class a { public static byte[] ff(String str) { if (TextUtils.isEmpty(str)) { return null; } return getFileMD5Digest(new File(str)); } public static String getFileMD5(File file) { try { byte[] fileMD5Digest = getFileMD5Digest(file); if (fileMD5Digest != null) { if (fileMD5Digest.length != 0) { return ac.toHexString(fileMD5Digest, 0, fileMD5Digest.length); } } return null; } catch (IOException e) { b.e("FileMD5Utils", "cannot calculate md5 of file", e); return null; } } public static byte[] getFileMD5Digest(File file) { if (file == null) { return null; } FileInputStream fileInputStream = new FileInputStream(file); try { MessageDigest instance = MessageDigest.getInstance("MD5"); byte[] bArr = new byte[4096]; while (true) { int read = fileInputStream.read(bArr); if (read == -1) { return instance.digest(); } instance.update(bArr, 0, read); } } catch (Exception e) { b.e("FileMD5Utils", "getting file md5 digest error.", e); return null; } finally { com.kwad.sdk.crash.utils.b.closeQuietly(fileInputStream); } } }