2
我正在使用此代碼,但它顯示了同一應用程序的哈希代碼。 請幫我解決。從內存中安裝的apk文件生成哈希
File file = new File(getApplicationContext().getPackageCodePath());
String outputTxt= "";
String hashcode = null;
try {
FileInputStream input = new FileInputStream(file);
ByteArrayOutputStream output = new ByteArrayOutputStream();
byte [] buffer = new byte [65536];
int l;
while ((l = input.read (buffer)) > 0)
output.write (buffer, 0, l);
input.close();
output.close();
byte [] data = output.toByteArray();
MessageDigest digest = MessageDigest.getInstance("SHA-1");
byte[] bytes = data;
digest.update(bytes, 0, bytes.length);
bytes = digest.digest();
StringBuilder sb = new StringBuilder();
for(byte b : bytes)
{
sb.append(String.format("%02X", b));
}
hashcode = sb.toString();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
現在我想讀(假設它會被* .apk文件)我目前的Android應用程序的安裝的應用程序文件,從文件中讀取的字節數組,併產生散列值。
在此先感謝。