将url 进行md5加密 转成字符串 参考 百度知道

    xiaoxiao2026-08-30  10

    protected static MessageDigest messagedigest = null; protected static char hexDigits[]={'0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f'}; static { try { messagedigest = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } } public static String getFileMD5StringByUrl(String urlStr) throws IOException { URL url=new URL(urlStr); return getFileMD5String(url.openStream()); } public static String getFileMD5String(InputStream fis) throws IOException { byte[] buffer = new byte[1024]; int numRead = 0; while ((numRead = fis.read(buffer)) > 0) { messagedigest.update(buffer, 0, numRead); } if(fis!=null){ fis.close(); } return bufferToHex(messagedigest.digest()); } private static String bufferToHex(byte bytes[]) { return bufferToHex(bytes, 0, bytes.length); } private static String bufferToHex(byte bytes[], int m, int n) { StringBuffer stringbuffer = new StringBuffer(2 * n); int k = m + n; for (int l = m; l < k; l++) { appendHexPair(bytes[l], stringbuffer); } return stringbuffer.toString(); } private static void appendHexPair(byte bt, StringBuffer stringbuffer) { char c0 = hexDigits[(bt & 0xf0) >> 4];// 取字节中高 4 位的数字转换 // 为逻辑右移,将符号位一起右移,此处未发现两种符号有何不同 char c1 = hexDigits[bt & 0xf];// 取字节中低 4 位的数字转换 stringbuffer.append(c0); stringbuffer.append(c1); } public static void main(String[] args) { String urlStr="http://shiliu.s.wcsapi.biz.matocloud.com/gift/chaopao1.gif"; String str; try { str = getFileMD5StringByUrl(urlStr); System.out.println(str);//41137a5cd0eebe701219c37dd9736684 } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
    转载请注明原文地址: https://ju.6miu.com/read-1311716.html
    最新回复(0)