關於java應用MD5校驗文件和linux下md5Linux校驗文件結果一致問題。 https://blog.csdn.net/shareeyes/article/details/51983022
import lombok.extern.slf4j.Slf4j;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStream;
@Slf4j
public class ByteToInputStream {
public static InputStream byte2Input(byte[] buf) {
return new ByteArrayInputStream(buf);
}
public static byte[] input2byte(InputStream inStream) throws IOException {
log.info("input2byte = " + inStream.available());
ByteArrayOutputStream swapStream = new ByteArrayOutputStream();
byte[] buff = new byte[100];
int rc = 0;
while ((rc = inStream.read(buff, 0, 100)) > 0) {
swapStream.write(buff, 0, rc);
}
byte[] in2b = swapStream.toByteArray();
return in2b;
}
}
package com.excloud.platform.util.ossClient;
import lombok.extern.slf4j.Slf4j;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@Slf4j
public class Md5Util {
/**
* 對文件二進制進行加密 與shell環境md5sum做校驗
* @param key
* @return
*/
public static String md5( byte[] key) {
log.info("key = " + key);
String cacheKey;
try {
final MessageDigest mDigest = MessageDigest.getInstance("MD5");
mDigest.update(key);
cacheKey = bytesToHexString(mDigest.digest());
} catch (NoSuchAlgorithmException e) {
cacheKey = String.valueOf(key.hashCode());
}
return cacheKey;
}
private static String bytesToHexString(byte[] bytes) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
String hex = Integer.toHexString(0xFF & bytes[i]);
if (hex.length() == 1) {
sb.append('0');
}
sb.append(hex);
}
return sb.toString();
}
}
linux 文件md5加密後校驗
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.