当需要对一个大文件计算MD5校验和时,JDK提供的方法速度是非常快的,甚至比操作系统提供的本地工具还要快。详情可以查看这个链接 http://www.twmacinta.com/myjava/fast_md5.php
这里有一个简单的示例,来自 http://www.javalobby.org/java/forums/t84420.html:
public static void main(String[] args) throws NoSuchAlgorithmException, FileNotFoundException {
MessageDigest digest = MessageDigest.getInstance("MD5");
File f = new File("c:\\myfile.txt");
InputStream is = new FileInputStream(f);
byte[] buffer = new byte[8192];
int read = 0;
try {
while( (read = is.read(buffer)) > 0) {
digest.update(buffer, 0, read);
}
byte[] md5sum = digest.digest();
BigInteger bigInt = new BigInteger(1, md5sum);
String output = bigInt.toString(16);
System.out.println("MD5: " + output);
}
catch(IOException e) {
throw new RuntimeException("Unable to process file for MD5", e);
}
finally {
try {
is.close();
}
catch(IOException e) {
throw new RuntimeException("Unable to close input stream for MD5 calculation", e);
}
}
}
如果需要对一个较短字符串进行处理,只要使用String的getBytes方法即可
分享到:
相关推荐
JAVA代码实现MD5编码,不调用任何第三方API-MD5 hash algorithm implemented by JAVA.
NULL 博文链接:https://nnbchuang.iteye.com/blog/1431812
java md5编码,主要用于对密码进行加密等工作。
java的MD5加密算法
java md5编码的源代码,可以对数据进行md5加密。
这个类可以实现,java语言下通过对上传文件进行MD5加密,然后将加密值与原来上传的文件加密值进行对比,防止上传重复文件。
MD5的JAVA实现代码 用java写的控制台程序 没有添加可视化的控件 目的是减少代码的体积 很有参考价值
MD5加密和base64编码(java代码) public class EncodeTool { public static String digest(String str) throws Exception { MessageDigest md5;
这个是以md5加密32位小写具体算法实例。可直接用于云mas的HTTP、和webservice接口。
md5加密算法,字符串编码转换,静态方法实现
针对c#或者java,其他编程语言,对中文汉字加密出现了密文不一致问题进行修复。增加编码类型,自定义编码类型
华为java安全编码规范考试3.1 血与泪整理除的答案,当前时间保证是最新的,基本所有题都能找到。有几题答案没写出来,但是写了所有的错误答案…………排除法
将md5加密制作成了windows下bat执行文件,可循环执行不同字符加密,输入quit可退出加密界面,附源码。
因此这些用户的密码对软件开发者或系统管理员来说可以说毫无保密可言,本文的目的是介绍MD5的Java Bean的实现,同时给出用MD5来处理用户的Account密码的例子,这种方法使得管理员和程序设计者都无法看到用户的密码,...
MD5+AES加密解密demo,将任意密钥转为16位长度MD5编码,再使用MD5编码进行AES加密
信息论与编码
VB的MD5中文加密,是一个不错的加密方式,但是仅适用于自己内容加密判断使用,因为和JAVA等对汉字的编码格式不统一,所以汉字加密直接不能使用VB的MD5,但是内部包含了JS的Md5,如果必须使用和其它语言一致的MD5使,...
华为安全编码规范考试(含答案)-JAVA安全.md
SpringBoot控制器统一的响应体编码/加密与请求体解密的注解处理方式,支持MD5/SHA/AES/DES/RSA