- 浏览: 336847 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
327764984:
CommonSql里不知道把PreparedStatment和 ...
Connection.setAutoCommit使用的注意事项 -
netwelfare:
文章讲解的不详细啊,很多东西没有讲解出来。看到这篇文章讲解的挺 ...
java字符串的拆分 lang.String.split -
iceage1980:
博主你好 我用了你这个代码 为什么总是在 if (this. ...
MD5 码 校 验 -
wisdomtl:
最后一段代码有写小的错误最后一个具体工厂的实现应该返回Cowb ...
JAVA设计模式之工厂模式 -
jateide:
网上随便转载的东西,自己都没有经过使用,好意思发出来,而且还不 ...
正则表达式中后向引用、零宽断言、负向零宽断言的解释用法
[size=medium]
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { /** * 默认的密码字符串组合,用来将字节转换成 16 进制表示的字符,apache校验下载的文件的正确性用的就是默认的这个组合 */ protected static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; protected static MessageDigest messagedigest = null; static { try { messagedigest = MessageDigest.getInstance("MD5"); } catch (NoSuchAlgorithmException nsaex) { System.err.println(MD5Util.class.getName() + "初始化失败,MessageDigest不支持MD5Util。"); nsaex.printStackTrace(); } } /** * 生成字符串的md5校验值 * * @param s * @return */ public static String getMD5String(String s) { return getMD5String(s.getBytes()); } /** * 判断字符串的md5校验码是否与一个已知的md5码相匹配 * * @param strGet 要校验的字符串 * @param strMd5String 已知的md5校验码 * @return */ public boolean checkMd5(String strMd5String,String strGet) { String MD5 = getMD5String(strGet); System.out.println("本地MD5码:"+MD5); // String MD5 = "12345"; return MD5.equals(strMd5String); } /** * 生成文件的md5校验值 * * @param file * @return * @throws IOException */ public static String getFileMD5String(File file) throws IOException { InputStream fis; fis = new FileInputStream(file); byte[] buffer = new byte[1024]; int numRead = 0; while ((numRead = fis.read(buffer)) > 0) { messagedigest.update(buffer, 0, numRead); } fis.close(); return bufferToHex(messagedigest.digest()); } /** * JDK1.4中不支持以MappedByteBuffer类型为参数update方法,并且网上有讨论要慎用MappedByteBuffer, * 原因是当使用 FileChannel.map 方法时,MappedByteBuffer 已经在系统内占用了一个句柄, * 而使用 FileChannel.close 方法是无法释放这个句柄的,且FileChannel有没有提供类似 unmap 的方法, * 因此会出现无法删除文件的情况。 * * 不推荐使用 * * @param file * @return * @throws IOException */ public static String getFileMD5String_old(File file) throws IOException { FileInputStream in = new FileInputStream(file); FileChannel ch = in.getChannel(); MappedByteBuffer byteBuffer = ch.map(FileChannel.MapMode.READ_ONLY, 0, file.length()); messagedigest.update(byteBuffer); return bufferToHex(messagedigest.digest()); } public static String getMD5String(byte[] bytes) { messagedigest.update(bytes); 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) throws IOException { long begin = System.currentTimeMillis(); File file = new File("C:/12345.txt"); String md5 = getFileMD5String(file); } */ }[/size]
发表评论
-
向数据库插入中文乱码【转】
2015-05-02 19:35 1437又遇到乱码问题,这个编码问题有时候真是让人头大。找了半 ... -
tomcat web.xml配置(转)
2013-03-27 15:17 1242web.xml元素介绍 我将自 ... -
java获取URL内容截取后保存到Excel中
2012-11-01 16:27 2520通过java.net 访问相应url,过滤返回的信息,并保存 ... -
java 反射
2012-10-24 14:47 1150java反射是java控制反转 ... -
POI包说明
2012-10-18 13:40 1778在线Javadoc:http://www.osctool ... -
JAVA_IO详解_包括讲解IO中各种流及其用法
2012-10-18 13:21 1105个人感觉比较详细的javaIO资料,下载附件 -
Spring入门示例及相关概念介绍(转)
2012-07-01 15:38 1241Spring入门示例及相关概念介绍 作者:http:/ ... -
servlet中init()和service()方法的区别(转)
2012-06-26 14:43 1848servlet中init()和service() ... -
getRequestDispatcher()与sendRedirect()的区别(转)
2012-06-26 14:37 11391.request.getRequestDispatch ... -
JAVA数据结构(~转~)
2012-06-26 13:45 1201JAVA数据结构 线性表,链表,哈希表是常用的数据结构 ... -
Java多线程编程总结(转)
2012-06-18 09:59 1068Java多线程编程总结 下面是Java线程系 ... -
JAVA IO 设计模式彻底分析(转)
2012-06-15 20:01 1289我想任何一本介绍模式的书在讲到Decorator模式的时候不能 ... -
J2EE开发常用开源框架技术(转)
2012-06-14 16:36 8096主要就我所了解的J2EE开发的框架或开源项目做个介绍,可以根据 ... -
Oracle回滚注意事项
2012-04-11 17:27 1154回滚到fisrt()时注意使用next()时需要将光标移到第一 ... -
Date 和 Calender 的转化 (转)
2012-04-09 14:23 1559Date 和 Calender 的转化 ... -
创建Java线程池(转)
2012-03-30 17:30 1410线程池的作用: 线程池作用就是限制系统中执行线 ... -
对Servlet的初始化的理解
2012-03-12 11:33 1750在读我自己的认识之前 , 我们 ... -
用java调用oracle存储过程总结
2012-02-17 14:30 01、什么是存储过程。存储过程是数据库服务器端的一段程序,它 ... -
JAVA设计模式之工厂模式
2012-02-17 11:03 13146JAVA设计模式之工厂模 ... -
Java技术----实现JAVA的动态类载入机制
2012-02-17 10:44 1695----作为充分利用Java的 ...
相关推荐
用户可以利用MD5码校验工具,对比自己下载的文件与官方提供的MD5码是否一致。如果一致,说明文件在传输过程中未被篡改或损坏;如果不一致,可能表明文件在下载、存储或传输过程中出现了问题,或者文件已被恶意修改。...
这种转化过程是单向的,即从数据生成MD5值相对容易,但若想从MD5值反推原始数据则几乎不可能,这就是MD5的主要特性,常用于数据的完整性校验和密码存储。 32位MD5密码校验是指通过计算数据的MD5摘要,然后与预知的...
SHA1码和MD5码是两种广泛用于数据完整性和文件校验的哈希函数。它们在IT领域扮演着至关重要的角色,确保了文件在传输、存储或复制过程中的完整性。 SHA1(Secure Hash Algorithm 1)是一种加密散列函数,产生一个...
因此,MD5常用于数据校验,比如在下载大型软件或文件后,通过比对下载文件的MD5码与官方提供的MD5码是否一致,来判断文件在传输过程中是否被篡改。 MD5码的生成过程包括以下几个步骤: 1. **填充**:将输入的数据...
MD5 checksum小工具,用MD5码校验文件完整性
1. **生成MD5值**:首先,你需要使用MD5校验工具对目标文件进行计算,工具会读取文件内容并应用MD5算法生成一个唯一的32位十六进制数字,这就是文件的MD5摘要。 2. **验证MD5值**:当获取到文件来源提供的正确MD5值...
在实际应用中,如果你需要进行MD5校验和对比,可以使用各种工具,例如命令行工具`md5sum`(在Unix/Linux系统中)或者Windows自带的“证书管理”工具。对于编程,很多编程语言都有内置的库函数支持MD5计算,如Python...
相信时常下载软件的朋友们会发现一些下载网站有提供下载文件的MD5码。到底MD5(哈希值)码有什么用处呢? 有了MD5码,您便可以知道您所下载的文件是否完整无缺,这对下载大型档案尤其重要! 使用: 文件下载后,...
MD5码校验的过程通常是这样的:首先,用户在申银万国的官方网站上获取到所需软件的MD5码,这个MD5码是由原始软件文件计算得出的。接着,用户下载该软件到本地,然后使用MD5码校验码计算器对下载后的文件进行计算,...
在JAVA中,生成MD5校验码涉及到以下几个关键知识点: 1. **`java.security.MessageDigest` 类**:这是Java标准库提供的一个类,用于实现各种散列算法,包括MD5。通过`getInstance("MD5")`方法可以获得MD5的实例。 ...
MD5码校验器是检测你下的软件的安全性的,主要是看有没有被人改动过,如捆绑不良程序等,没有其他用处。 MD5中的MD代表Message Digest,就是信息摘要的意思,不过这个信息摘要不是信息内容的缩写,而是根据公开...
MD5文件校验工具是一种在IT领域中广泛使用的软件,其主要功能是验证文件的完整性和安全性。MD5,全称Message-Digest Algorithm 5,是由Ron Rivest开发的一种哈希函数,它能够将任意长度的数据转化为固定长度的128位...
例如,服务器返回一个文件的MD5校验码,用户在下载文件后,前端JS可以再次计算文件的MD5并比对,以确保下载的文件与服务器上的文件一致。 总结起来,MD5加密和JS校验码在IT行业中扮演着重要的角色。MD5用于数据加密...
然后,使用MD5码校验工具(如“MD5Check.exe”)对下载或接收的文件进行校验。 "MD5Check.exe"是一款简单易用的MD5码校验工具。按照描述中的使用方法,我们可以这样做: 1. 首先,运行MD5Check.exe程序。这个程序...
文件校验工具 MD5 校验王中文版文件校验工具 MD5 校验王中文版 MD5 校验王可以对任意文件进行版本,文件时间,MD5值,SHA1值,CRC32值的校验。 计算选项: 版本:当选择校验文件为exe或者dll文件时,在运算结果中...
在给定的“文件校验工具 CRC32 MD5 HASH校验码自动计算工具”中,我们主要关注三种常见的校验技术:CRC32、MD5和HASH。 1. CRC32(Cyclic Redundancy Check 32): CRC32是一种广泛使用的错误检测方法,通过计算...
MD5Check校验码生成器是一个实用工具,主要用于在MCU(微控制器)固件升级过程中验证文件的完整性和一致性。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为固定长度的...
3. **固定长度输出**: 不论输入数据多大,MD5总是会产生固定长度的128位散列,这就是我们所说的MD5校验码。 4. **防碰撞性**: 理论上,两个不同的输入不应产生相同的MD5值,但在实际中,由于MD5的碰撞(即不同输入...
什么是MD5码? MD5码是message-digest algorithm 5(信息-摘要算法)的缩写,被广泛用于加密和解密技术上,它可以说是文件的“数字指纹”。... 我们可以通过对比同一文件的MD5码,来校验这个文件是否被“篡改”过。
MD5校验码生成工具是IT领域中一种实用的小型应用程序,主要用来验证文件的完整性和真实性。在软件分发、文件传输或者备份过程中,MD5校验码扮演着重要的角色,确保文件在传输过程中没有被篡改或损坏。本文将深入探讨...