对文件或字符串进行MD5处理
<dependency> <groupId>org.apache.xmlbeans</groupId> <artifactId>xmlbeans</artifactId> <version>2.6.0</version> </dependency>
public static String getMD5ByFile(File file) {// 这个可能不是很准 FileInputStream fis = null; try { MessageDigest md = MessageDigest.getInstance("MD5"); fis = new FileInputStream(file); byte[] buffer = new byte[8192]; int length = -1; System.out.println("开始算"); while ((length = fis.read(buffer)) != -1) { md.update(buffer, 0, length); } System.out.println("算完了"); return bytesToString(md.digest()); } catch (IOException ex) { return null; } catch (NoSuchAlgorithmException e) { return null; } finally { try { fis.close(); } catch (IOException ex) { } } } public static String textToMD5L32(String plainText) { String result = null; //首先判断是否为空 if (StringUtils.isBlank(plainText)) { return null; } try { //首先进行实例化和初始化 MessageDigest md = MessageDigest.getInstance("MD5"); //得到一个操作系统默认的字节编码格式的字节数组 byte[] btInput = plainText.getBytes(); //对得到的字节数组进行处理 md.update(btInput); //进行哈希计算并返回结果 byte[] btResult = md.digest(); //进行哈希计算后得到的数据的长度 StringBuffer sb = new StringBuffer(); for (byte b : btResult) { int bt = b & 0xff; if (bt < 16) { sb.append(0); } sb.append(Integer.toHexString(bt)); } result = sb.toString(); } catch (NoSuchAlgorithmException e) { e.printStackTrace(); } return result; }
发布者:songJian 点击数:826 发布时间:2018-01-10 01:08:49 更新时间:2018-07-09 18:49:06
正在加载评论...