在linux下,大家常使用md5算法对文件进行签名。
对于md5sum 命令的说明 参考链接 http://baike.baidu.com/view/1919192.htm
平时在程序中也时常需要对文件进行md5签名,代码如下
import java.io.IOException;
import java.io.InputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.apache.commons.codec.binary.Hex;
/**
* 2012-9-10 tracy.liuy
*/
public class MD5Util {
public static String getDigest(InputStream is, MessageDigest md, int byteArraySize)
throws NoSuchAlgorithmException,
IOException {
md.reset();
byte[] bytes = new byte[byteArraySize];
int numBytes;
while ((numBytes = is.read(bytes)) != -1) {
md.update(bytes, 0, numBytes);
}
byte[] digest = md.digest();
String result = new String(Hex.encodeHex(digest));
return result;
}
}
调用代码如下:
MessageDigest md = MessageDigest.getInstance("MD5");
String digest = MD5Util.getDigest(new FileInputStream(httpFile), md, 2048);
分享到:
相关推荐
在这个场景中,我们将深入探讨C语言和Java如何实现MD5数字签名。 首先,MD5数字签名是基于MD5算法的。MD5通过特定的计算过程,将数据转换为128位的散列值,这个值是唯一的,只要原始数据发生微小变化,MD5值就会...
### JAVA实现MD5加密 #### MD5的基本概念与作用 MD5(Message-Digest Algorithm 5)是一种广泛应用于计算机安全领域的散列函数,主要用于提供消息的完整性保护。它能够接收任何形式的数据作为输入,并生成一个固定...
对接接口时用到的一种常用加密算法,常用于验证签名,使用shiro-all-1.4.1.jar,可自行下载
MD5和RSA是两种在计算机安全领域广泛应用的...总之,MD5和RSA在Java中实现起来并不复杂,但它们在数据安全、身份验证、数字签名等方面扮演着至关重要的角色。理解并正确使用这些加密算法,对于保护数据安全至关重要。
#### 二、Java与C# MD5实现差异 1. **编码方式**:Java与C#默认使用的字符集编码可能不同。例如,Java默认使用UTF-8编码,而C#默认使用ASCII或UTF-8。 2. **大/小写敏感**:某些实现可能对输出的大/小写敏感。 3. *...
### Java实现数字签名详解 #### 一、数字签名概述 ##### 1.1 数字签名的应用背景 数字签名是信息安全领域的重要技术之一,主要用于解决网络安全通信中的两大问题:篡改和抵赖。在网络环境中,信息可能会面临多种...
Java服务端收到数据和签名后,会先用MD5算法计算接收到的数据的摘要,然后使用客户端提供的RSA公钥尝试解密接收到的签名。如果解密成功,且解密后的MD5摘要与计算得到的摘要相同,就证明数据未被篡改,签名有效。 ...
MD5加密和签名算法在IT领域中扮演着重要的角色,特别是在数据安全、用户验证和通信完整性方面。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的数据转换为固定长度的摘要,通常为...
下面我们将详细探讨MD5在Java中的实现方式以及相关知识点。 首先,我们需要引入Java Cryptography Extension (JCE)库,它是Java平台标准版的一部分,提供了加密、解密、签名和消息认证码等服务。在Java 8及更高版本...
本篇文章将详细讲解如何在C#中实现与Java的3DES加密以及MD5withRSA签名的对接。 3DES(Triple Data Encryption Algorithm)是一种对称加密算法,它使用了DES(Data Encryption Standard)算法三次,增强了加密强度...
使用微信支付签名MD5加密算法。可以使用,可以根据微信签名工具验证,是一样的。 如果提示“签名失败“,就要考虑到key只是否一致。统一下单和发起支付时的key值要一样的。
解决Delphi 中文MD5签名和Java MD5签名不一致的问题。
综上所述,基于JAVA技术实现的MD5加密算法不仅可以有效地应用于数字签名、电子商务等多个领域,还具有开发周期短、一次开发多处应用、可跨平台使用、运行效率高等优势。通过结合JavaBean和JSP技术,不仅能够简化开发...
### 常用MD5加密算法和3-DES加密算法Java实现 在现代软件开发过程中,数据的安全性变得越来越重要。对于数据传输和存储过程中的安全性保障,加密技术发挥着至关重要的作用。本文将详细介绍如何在Java环境中实现两种...
下面我们将详细讨论Java中MD5加密的原理、使用场景以及如何实现。 MD5加密的基本原理: MD5算法是一种非对称的加密算法,它将输入的信息通过一系列复杂的数学运算,最终得到一个128位的摘要信息,通常以32位的16...
### Java中的MD5实现 在Java中实现MD5加密,可以使用`java.security.MessageDigest`类。下面是一个简单的示例代码,展示了如何使用Java标准库来计算字符串的MD5散列值: ```java import java.security....
Java作为一种流行的编程语言,提供了内置的支持来实现MD5算法,这使得开发者能够方便地在自己的项目中集成MD5功能。 #### 二、Java实现MD5算法的关键知识点 ##### 1. 导入必要的包 ```java import java.security....
java与c#MD5加密方法得到不一致解决办法,MD5加密后得到不一致结果
js java MD5加密 解决中文不一致问题 验签 只有英文 数字的可以忽略了
数字签名 MD5 JAVA 数字签名 MD5 JAVA 数字签名 MD5 JAVA 数字签名 MD5 JAVA 数字签名 MD5 JAVA