java md5
需求是,上传文件到HDFS,然后生成同名的MD5文件,基本示例如下:
public static String getMD5(InputStream inputStream)
{
byte[] buffer = new byte[1024];
int len = 0;
try
{
MessageDigest messageDigest = MessageDigest.getInstance("MD5");
while ((len = inputStream.read(buffer)) != -1)
{
messageDigest.update(buffer, 0, len);
}
BigInteger bigInteger = new BigInteger(1, messageDigest.digest());
String hashtext = bigInteger.toString(16);
while(hashtext.length() < 32 ){
hashtext = "0"+hashtext;
}
return hashtext;
}
catch (Exception e)
{
return null;
}
}
尤其需要注意的是第一段代码中的补0,如果不补0,这就会跟使用md5sum命令生成的数据有差别,这样使用md5sum -c 进行检查的时候,是会报错的。
报数据的格式不正确,提示错误不是校验失败。
try {
//mkdir -p then upload file
String resDir = new File(softwareEntity.getResUri()).getParentFile().getPath();
//System.out.println(resDir);
HdfsUtil.getInstance().mkdir(resDir);
HdfsUtil.getInstance().createFile(softwareEntity.getResUri(), file.getBytes());
//upload the md5 file to the same directory
String md5=EncryptionUtil.getMD5(file.getInputStream());
StringBuilder sbFileCont = new StringBuilder(md5);
if(md5!=null)
{
String twoSpaces = " " ;
sbFileCont.append(twoSpaces);
sbFileCont.append(file.getOriginalFilename());
sbFileCont.append("\n");
HdfsUtil.getInstance().createFile(softwareEntity.getResUri()+".md5",sbFileCont.toString().getBytes());
}
else
throw new ServiceException("Something wrong when gererate md5 digest for file" + softwareEntity.getResUri());
} catch (IOException e) {
throw new ServiceException("Save file error.", e);
} catch (URISyntaxException e) {
throw new ServiceException("upload file to hdfs error",e);
}
java md5的更多相关文章
- js和java MD5加密
项目中用到js MD5加密和后台java MD5加密,刚开始加密后两个不一致,网上找了好久终于找到一个啦,记下来: md5.js /* * A JavaScript implementation of ...
- javascript md5 二次加密 和 java md5 二次加密结果不同
最近研究httpclient post 时遇到了一个问题,很费解. js md5(str) 和 java md5(str),第一次md5 加密结果一样,(当时忽略了大小写问题,java 大写,js小 ...
- 解决Javascript md5 和 Java md5 中文加密后不同问题
Javascript md5 和 Java md5 带中文字符加密结果不一致,可以通过编码进行转化. javascript可以使用encodeURLComponent将中文先转化一次再进行MD5加密. ...
- Java MD5机密算法的使用
MD5 是常用的加密算法,是不可逆的.既只能加密,但不能解密. package cn.com.ctsi.csdp.base.util; import java.security.MessageDige ...
- java MD5 32位加密
import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5 ...
- C# java MD5加密方不一致问题
说来惭愧,做开发几年了,一直在吸取,今天也写写自已关于技术的一点点理解,不正之处,请大家多多指点. 由于之前开发的项目使用的是C#,用户信息使用的C#的MD5加密码方式,而现在需要切换到Java平台下 ...
- Java MD5校验
Java 生成MD5 MD5(Message Digest Algorithm),消息摘要算法,一般用于校验文件的完整性.Java内置已经实现了MD5,与SHA1算法,利用java.security. ...
- java MD5 加密
使用javaMD5.jar ========================================== 使用java的security类 ========================== ...
- Java MD5加密与RSA加密
区别: MD5加密: 加密时通过原字符串加密成另一串字符串 解密时需要原加密字符串进行重新加密比较两次加密结果是否一致 T=RSA加密: 加密时通过原字符串生成密钥对(公钥+私钥) 解密时通过公钥和私 ...
- java MD5/AES/DES加解密汇总
package com.test.test1.util; import java.security.MessageDigest; import java.security.SecureRandom; ...
随机推荐
- Vue.js先入个门看看
使用vue.js原文介绍:Vue.js是一个构建数据驱动的web界面库.Vue.js的目标是通过尽可能简单的API实现响应式数据绑定和组合的视图组件.vue.js上手非常简单,先看看几个例子: 例一: ...
- 关系数据库常用SQL语句语法大全
创建表 语法 CREATE TABLE <表名>(<列名> <数据类型>[列级完整性约束条件] [,<列名> <数据类型>[列级完整性约束条 ...
- .Net语言 APP开发平台——Smobiler学习日志:如何在手机上实现电子签名功能
最前面的话:Smobiler是一个在VS环境中使用.Net语言来开发APP的开发平台,也许比Xamarin更方便 一.目标样式 我们要实现上图中的效果,需要如下的操作: 1.从工具栏上的“Smobil ...
- Sql Server 备份还原失败错误ERROR:3145(备份集中的数据库备份与现有的数据库不同)及解决办法
SQL Server备份文件bak,备份后还原出现错误3145,备份集中的数据库备份与现有的 'xxx' 数据库不同. 解决办法如下: 1,新建一个与现有数据库重名的数据库. 如果您不知道数据库名称, ...
- 10个调试Java的技巧
调试不仅可以查找到应用程序缺陷所在,还可以解决缺陷.对于Java程序员来说,他们不仅要学会如何在Eclipse里面开发像样的程序,更需要学会如何调试程序.本文介绍了Java程序员必知的10个调试技巧, ...
- jquery 格式化系统时间
Date.prototype.Format = function (fmt) { //javascript时间日期函数 var o = { "M+": this.getMonth( ...
- 14、ASP.NET MVC入门到精通——Ajax
本系列目录:ASP.NET MVC4入门到精通系列目录汇总 Unobtrusive Ajax使用方式(非入侵式) 非入侵式,通俗来讲:就是将嵌入在Html中的JavaScript全部取出来,放在单独的 ...
- java web学习总结(十五) -------------------JSP基础语法
任何语言都有自己的语法,JAVA中有,JSP虽然是在JAVA上的一种应用,但是依然有其自己扩充的语法,而且在JSP中,所有的JAVA语句都可以使用. 一.JSP模版元素 JSP页面中的HTML内容称之 ...
- MySQL中CURRENT_TIMESTAMP(转)
1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp() 代码如下 mysql> select current_timestamp ...
- 转载 CSS3 经典教程系列:CSS3 盒阴影(box-shadow)详解
目标大纲 文章转载 CSS3 经典教程系列:CSS3 盒阴影(box-shadow)详解 IE中CSS-filter滤镜小知识大全 CSS实现跨浏览器兼容性的盒阴影效果