मुझे एंड्रॉइड पर SHA-1 प्रदर्शन के साथ कोई समस्या है। सी # में मुझे लगभग 3s में हैश की गणना मिलती है, एंड्रॉइड के लिए समान गणना लगभग 75 होती है। मुझे लगता है कि समस्या फाइल से ऑपरेशन पढ़ने में है, लेकिन मुझे यकीन नहीं है कि प्रदर्शन में सुधार कैसे किया जाए।एंड्रॉइड, फ़ाइल से SHA-1 हैश की गणना, सबसे तेज़ एल्गोरिदम
यहां मेरी हैश पीढ़ी विधि है।
private static String getSHA1FromFileContent(String filename)
{
try
{
MessageDigest digest = MessageDigest.getInstance("SHA-1");
//byte[] buffer = new byte[65536]; //created at start.
InputStream fis = new FileInputStream(filename);
int n = 0;
while (n != -1)
{
n = fis.read(buffer);
if (n > 0)
{
digest.update(buffer, 0, n);
}
}
byte[] digestResult = digest.digest();
return asHex(digestResult);
}
catch (Exception e)
{
return null;
}
}
कोई विचार मैं प्रदर्शन में सुधार कैसे कर सकता हूं?
आपके द्वारा पढ़ी जा रही फ़ाइल का आकार क्या है? – SirDarius
'asHex (..)' विधि के बिना अपना कोड चलाने का प्रयास करें (बस बाइट [] वापस करें)। –
मैं 6 एमबी फ़ाइल का उपयोग कर रहा हूं, asHex (..) को हटाने में मदद नहीं मिली है:/ –