package com.yeshi.buwan.util.video;
|
|
import java.io.IOException;
|
import java.io.RandomAccessFile;
|
import java.security.DigestException;
|
import java.security.MessageDigest;
|
import java.security.NoSuchAlgorithmException;
|
|
public class FeathureUtil {
|
private static final char[] a = { 48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
|
97, 98, 99, 100, 101, 102 };
|
|
public static String a(String paramString) throws IOException,
|
NoSuchAlgorithmException {
|
RandomAccessFile paramFile = new RandomAccessFile(paramString, "r");
|
long l = paramFile.length();
|
MessageDigest localMessageDigest = MessageDigest.getInstance("SHA1");
|
if (l < 61440L)
|
localMessageDigest.update(paramFile.readByte());
|
//while (true) {
|
byte[] arrayOfByte = new byte[20480];
|
paramFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
paramFile.seek(l / 3L);
|
paramFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
paramFile.seek(l - 20480L);
|
paramFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
//}
|
return String.format("%d_%s", new Object[] { Long.valueOf(l),
|
a(localMessageDigest.digest()) });
|
}
|
|
private static String a(byte[] paramArrayOfByte) {
|
int j = paramArrayOfByte.length;
|
StringBuilder localStringBuilder = new StringBuilder(j * 2);
|
int i = 0;
|
while (i < j) {
|
localStringBuilder.append(a[(paramArrayOfByte[i] >> 4 & 0xF)]);
|
localStringBuilder.append(a[(paramArrayOfByte[i] & 0xF)]);
|
i += 1;
|
}
|
return localStringBuilder.toString();
|
}
|
|
public static String b(String paramString) throws IOException,
|
NoSuchAlgorithmException, DigestException {
|
RandomAccessFile paramStringFile = new RandomAccessFile(paramString,
|
"r");
|
long l = paramString.length();
|
int i = 262144;
|
MessageDigest localMessageDigest1 = MessageDigest.getInstance("SHA1");
|
while (l / i > 512L)
|
i <<= 1;
|
MessageDigest localMessageDigest2 = MessageDigest.getInstance("SHA1");
|
byte[] arrayOfByte = new byte[i];
|
for (i = paramStringFile.read(arrayOfByte); i > 0; i = paramStringFile
|
.read(arrayOfByte)) {
|
localMessageDigest2.reset();
|
localMessageDigest2.update(arrayOfByte, 0, i);
|
localMessageDigest1.update(localMessageDigest2.digest());
|
}
|
return String.format("%d_%s",
|
new Object[] { Long.valueOf(l),
|
a(localMessageDigest1.digest()).toLowerCase() });
|
}
|
|
public static String sha1(String paramString) throws IOException,
|
NoSuchAlgorithmException {
|
RandomAccessFile paramStringFile = new RandomAccessFile(paramString,
|
"r");
|
long l = paramStringFile.length();
|
MessageDigest localMessageDigest = MessageDigest.getInstance("SHA1");
|
if (l < 65535L)
|
localMessageDigest.update(paramStringFile.readByte());
|
//while (true) {
|
byte[] arrayOfByte = new byte[12288];
|
paramStringFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
paramStringFile.seek(l / 5L);
|
paramStringFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
paramStringFile.seek(2L * l / 5L);
|
paramStringFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
paramStringFile.seek(3L * l / 5L);
|
paramStringFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
paramStringFile.seek(l - 12288L);
|
paramStringFile.read(arrayOfByte);
|
localMessageDigest.update(arrayOfByte);
|
return String.format("%d_%s", new Object[] { Long.valueOf(l),
|
a(localMessageDigest.digest()) });
|
//}
|
}
|
}
|
|
/*
|
* Location: F:\fanbianyi\pptvcloud_classes-dex2jar.jar Qualified Name:
|
* com.pptv.cloudplay.utils.FeathureUtil JD-Core Version: 0.6.0
|
*/
|