zoukankan      html  css  js  c++  java
  • java对文件hash

    package cn.iautos.mall.utils;
    
    import java.io.FileInputStream;
    import java.io.InputStream;
    import java.security.MessageDigest;
    
    import org.springframework.util.StringUtils;
    
    public class CheckHashUtils {
        
        
        public static String getHashByFile(String fileName) throws Exception{
            return getMD5Checksum(fileName,null);
        }
        public static String getHashByStream(InputStream fis) throws Exception{
            return getMD5Checksum(null,fis);
        }
        
        
        private static byte[] createChecksum(String filename,InputStream fis) throws Exception {
            if(!StringUtils.isEmpty(filename)){
                fis =  new FileInputStream(filename);
            }
            byte[] buffer = new byte[1024];
            MessageDigest complete = MessageDigest.getInstance("MD5");
            int numRead;
    
            do {
                numRead = fis.read(buffer);
                if (numRead > 0) {
                    complete.update(buffer, 0, numRead);
                }
            } while (numRead != -1);
    
            fis.close();
            return complete.digest();
        }
     
        private static String getMD5Checksum(String filename,InputStream fis) throws Exception {
            byte[] b = createChecksum(filename,fis);
            String result = "";
    
            for (int i=0; i < b.length; i++) {
                result += Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );
            }
            return result;
        }
    
    }
  • 相关阅读:
    mysql常用命令
    CSS样式
    定位
    background
    文本属性和字体属性
    超链接导航案例
    margin塌陷
    浮动
    GIT 修改提交地址
    VUE ElementUI 表格多选框实现单选
  • 原文地址:https://www.cnblogs.com/xuzhenmin/p/3643058.html
Copyright © 2011-2022 走看看