android黑窗口获取md5_Android获取文件的MD5
什么是MD5
MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于確保信息傳輸完整一致。是計算機廣泛使用的雜湊算法之一(又譯摘要算法、哈希算法),主流編程語言普遍已有MD5實現。將數據(如漢字)運算為另一固定長度值,是雜湊算法的基礎原理,MD5的前身有MD2、MD3和MD4。
文件MD5的應用場景
(1)加密
(2)在下載更新APK的時候,與遠程服務器的MD5進行匹配,如果下載下來新文件的MD5的與遠程的MD5一致,說明下載過程中沒有出現丟包。
如何獲取文件的MD5
private void getFile(){
String path = Environment.getExternalStorageDirectory().getAbsolutePath();
Log.d("ATG", path);
File file = new File(path+"/e8706cf83a2cda33dae5c40025922d75.apk");
String md5 = getFileMD5(file);
Log.d("ATG", md5);
}
public static String getFileMD5(File file) {
if (!file.isFile()) {
return null;
}
MessageDigest digest = null;
FileInputStream in = null;
byte buffer[] = new byte[1024];
int len;
try {
digest = MessageDigest.getInstance("MD5");
in = new FileInputStream(file);
while ((len = in.read(buffer, 0, 1024)) != -1) {
digest.update(buffer, 0, len);
}
in.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
return bytesToHexString(digest.digest());
}
public static String bytesToHexString(byte[] src) {
StringBuilder stringBuilder = new StringBuilder("");
if (src == null || src.length <= 0) {
return null;
}
for (int i = 0; i < src.length; i++) {
int v = src[i] & 0xFF;
String hv = Integer.toHexString(v);
if (hv.length() < 2) {
stringBuilder.append(0);
}
stringBuilder.append(hv);
}
return stringBuilder.toString();
}
總結
以上是生活随笔為你收集整理的android黑窗口获取md5_Android获取文件的MD5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 电动车控制器接线图(电动车控制器不懂接线
- 下一篇: java 无类名实现接口_为什么很多人写