- 浏览: 172176 次
- 性别:
- 来自: 成都
-
文章分类
最新评论
-
crabboy:
goodhttp://veerle.duoh.com/comm ...
表格效果 -
lunvsxiao:
好呀,省的自己记那么多了。。
java常用正则表达式
import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.nio.MappedByteBuffer; import java.nio.channels.FileChannel; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Util { /** * 默认的密码字符串组合,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(); } } /** * 适用于上G大的文件 * @param file * @return * @throws IOException * 此方法慎用,FileChannel.map后不会释放资源,会导致文件被锁定 */ public static String getFileMD5String(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); String md5Str = bufferToHex(messagedigest.digest()); byteBuffer.flip(); ch.close(); in.close(); return md5Str; } public static String MD5File(File file) { byte[] buf = new byte[4096]; //这个byte[]的长度可以是任意的。 MessageDigest md; boolean fileIsNull = true; try { FileInputStream fis = new FileInputStream(file); int len = 0; md = MessageDigest.getInstance("MD5"); len = fis.read(buf); if (len > 0) { fileIsNull = false; while (len > 0){ md.update(buf, 0, len); len = fis.read(buf); } } fis.close(); } catch (Exception e) { return null; } if (fileIsNull) return null; else return bufferToHex(md.digest()); } public static String getMD5String(String s) { return getMD5String(s.getBytes()); } 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]; char c1 = hexDigits[bt & 0xf]; stringbuffer.append(c0); stringbuffer.append(c1); } public static boolean checkPassword(String password, String md5PwdStr) { String s = getMD5String(password); return s.equals(md5PwdStr); } }
发表评论
-
用 Quartz 进行作业调度
2010-10-09 11:18 855Quartz 是个开源的作业调度框架,为在 Java 应用程序 ... -
Java读取中文文件出现乱码解决方法
2010-09-04 11:22 851前些天在读取一个UTF-8文件时,中文出现乱码,现在将处 ... -
Java项目中获取文件路径的问题总结
2010-09-03 11:36 0在项目中,或多或少都会涉及到获取文件的路径,然而处理也是多种多 ... -
java文件读取 编码方式设置
2010-09-02 16:28 935FileInputStream fr = new FileIn ... -
java获取项目路径
2010-08-25 12:00 2077在jsp和class文件中调用的相对路径不同。 在jsp里 ... -
websphere升级后,URLRewriter失效的处理办法
2010-05-24 13:20 1647进入控制台-》服务器-》应用程序服务器-》Web 容器 > ... -
模态窗口在web中的应用
2010-03-27 12:57 1621在web开发中,很多地方可能需要弹出模态窗口来进行处理,但在模 ... -
java文件上传本篇文章来源于:开发学院 http://edu.codepub.com 原文链接:http://edu.codepub.com/2009/1
2010-03-05 18:38 1372Apache Commons fileUpload实现文件上传 ... -
Tomcat的class加载的优先顺序一览
2010-02-21 22:16 1343Tomcat的class加载的优先顺序一览1.最先是$JAVA ... -
删除eclipse或者MyEclipse记录的workspace
2010-01-13 10:28 1570在开发过程中可能建立了很多工作台,但随着开发的进行,可能有的工 ... -
文件上传组件的编写
2009-12-18 10:45 1245张孝祥的教程:文件的上传组件编写,希望对你有帮助! -
JAVA对象比较器Comparator
2009-10-24 17:45 1843JAVA对象比较器Comparator ... -
JAVA中通过类名,自动创建对象,并且合理初始化(自动找到合适的构造方法)
2009-10-24 16:03 2620JAVA中通过类名,自动创建对象,并且合理初始化(自动找到合适 ... -
Java软件架构师所要学的东西
2009-09-23 15:05 1505选择的范围太广,可以读的书太多,往往容易无所适从。我想就我自己 ... -
Java正则表达式
2009-09-14 15:01 1283众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字 ... -
httpclient4相关资料记录
2009-09-10 22:25 1622import java.net.Socket;import o ... -
用commons的HttpClient和FileUpload写的文件上传下载类
2009-09-09 17:12 2217用commons的HttpClient和FileUpload写 ... -
use HTTPClient for loading image from URL
2009-09-09 15:01 1684读取JPEG,PNG,TIFF图像格式的文件。 ... -
开源XML处理包:Digester
2009-09-09 10:19 1369一、Digester简介Jakar ... -
Quartz CronTrigger最完整配置说明
2009-09-08 09:30 1219CronTrigger配置格式:格式: [秒] [分] [小时 ...
相关推荐
具体到本资源中的实现,核心程序“取文件MD5(带进度条).e”很可能是易语言开发的项目文件,其中整合了MD5哈希计算与进度条的实时更新逻辑。程序运行时,它会遍历指定的文件夹,并对每一个文件执行MD5哈希计算。在...
在本压缩包"易语言源码易语言取文件MD5源码.rar"中,包含的是一段使用易语言编写的用于计算文件MD5值的源代码。 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转化为一个...
4. **使用计算MD5的函数**:在你的MFC应用程序中,调用这个函数,传入你想要计算MD5值的文件路径,然后就可以得到文件的MD5值了。 5. **处理大文件**:在上述代码中,我们使用了一个固定大小的缓冲区读取文件,这种...
在其丰富的生态中,易语言取多文件夹、文件的MD5哈希值,并附带进度条显示的功能,是易语言社区中的一个实用工具,它不仅提高了工作效率,还优化了用户体验。 MD5算法,作为一种广泛使用的哈希函数,其核心功能在于...
在这个“取文件MD5值易语言源码例程”中,我们可以了解到如何利用易语言来实现这一功能。首先,你需要导入易语言的“网络支持库”,该库提供了计算MD5值所需的函数。然后,可以调用“文件打开”命令打开要计算的文件...
总之,易语言取文件MD5值是通过读取文件、调用外部函数计算MD5、转换结果并显示的过程。这个过程涵盖了文件操作、函数调用、数据转换等多个编程基础概念,对于提升编程技能大有裨益。通过实践这个例程,你将更好地...
最后,当所有线程完成工作后,主线程将各线程计算的MD5块合并成最终的文件MD5。合并过程通常涉及到异或运算,将每个块的MD5值进行异或操作,得到的结果就是整个文件的MD5。 总的来说,"易语言大文件取MD5不卡带进度...
"易语言_API取文件MD5例程"是一个示例程序,它展示了如何在易语言中通过API调用来计算文件的MD5值。这个过程主要涉及到Windows API函数和易语言的编程技巧。 首先,我们需要了解什么是易语言。易语言是一门中国本土...
在标题和描述中提到的“易语言进度取大文件MD5码源码”是一个针对易语言的编程示例,主要涉及到两个关键概念:大文件处理和MD5哈希计算。 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,可以将任意...
2. 计算文件的MD5值:工具会读取文件的全部内容,通过MD5算法生成一个唯一的MD5校验和。这个校验和可以作为验证文件完整性的依据。例如,在下载大文件时,下载完成后可以使用MD5工具对比官方提供的MD5值,确保文件...
上述代码定义了一个名为`MD5Calculator`的类,包含了两个静态方法:`GetStringMD5`用于计算字符串的MD5值,`GetFileMD5`用于计算文件的MD5值。`ConvertToHex`方法用于将字节数组转换为十六进制字符串。 5. **应用...
文件MD5效验工具是专门用于计算和验证文件MD5值的软件。它能够读取指定文件,并通过MD5算法计算出该文件的唯一标识——MD5哈希值。这个哈希值就像文件的指纹,即使文件内容只有一点微小的变化,MD5值也会显著不同。...
在IT领域,尤其是在数据安全和文件验证中,MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,能够将任意长度的数据转化为固定长度的摘要值。这个摘要值是唯一的,可以用来验证文件的完整性和原始性。当...
总的来说,易语言源码取文件MD5值的例程提供了文件完整性验证的一种方法,对于开发、文件传输校验等领域都有实际的应用价值。通过学习和理解这个例程,你可以掌握易语言与底层系统交互的能力,以及如何利用哈希算法...
易语言是一种专为中国人设计的编程语言,它以简明直观的中文语法为特色,使得初学者能够更...通过分析和理解这段源码,开发者可以掌握易语言中处理大文件MD5计算的方法,这对于文件校验、数据传输验证等场景非常有用。
在IT行业中,尤其是在软件开发领域,验证文件的完整性和真实性是一项重要的...如果你的压缩包文件"sha-md5"包含了实现这一功能的源代码或执行文件,那么你可以进一步研究这些代码,学习如何在实际项目中应用这些技术。
这个"易语言取MD5的模块"源码提供了在易语言中计算字符串或文件MD5值的功能。使用这样的模块,开发者无需深入了解MD5算法的实现细节,只需简单调用模块提供的接口,即可快速地获取到所需的结果。这对于易语言的程序...
3. 数据签名:在软件发布时,开发者会提供软件的MD5值,用户可以通过比对下载后的文件MD5值来验证软件的真实性,防止被篡改。 4. 版本控制:在版本控制系统中,如Git,文件的变更会通过计算新旧版本的MD5值来快速...