`
virusfu
  • 浏览: 183141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

MD5转化通用类

 
阅读更多

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

/**
 * MD5 转化类
 * 
 * @author Fu Wei
 * 
 */
public class MD5Utils {

	private static final Logger LOG = LoggerFactory
			.getLogger(MD5Utils.class);

	public static byte[] getMd5Key(byte[] buffer, byte[] key) {
		try {
			MessageDigest md5 = MessageDigest.getInstance("MD5");
			md5.update(buffer);
			return md5.digest(key);
		} catch (NoSuchAlgorithmException e) {
		}
		return null;
	}

	/**
	 * 输入原文 返回MD5码
	 * 
	 * @param strSrc
	 * @param key
	 * @param encode
	 * @return
	 */
	public static String getMd5Key(String strSrc, String key, String encode) {
		try {
			MessageDigest md5 = MessageDigest.getInstance("MD5");
		 	md5.update(strSrc.getBytes(encode));
			String result = "";
			byte[] temp;
		 	temp = md5.digest(key.getBytes(encode));
			for (int i = 0; i < temp.length; i++) {
				result += Integer.toHexString(
						(0x000000ff & temp[i]) | 0xffffff00).substring(6);
			}
			return result;
		} catch (NoSuchAlgorithmException e) {
			LOG.error("MD5计算出错", e);
		} catch (Exception e) {
			LOG.error("MD5装换出错", e);
		}
		return null;
	}
}
 
分享到:
评论

相关推荐

    一个比较好用的md5计算工具

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,由计算机科学家Rivest在1991年设计。它能够将任意长度的数据转化为一个固定长度的128位(16字节)的摘要,通常表示为32位的十六进制数。MD5的主要用途...

    简单的C++类,MD5算法

    以下将详细介绍C++中MD5类的设计思路以及相关知识点。 首先,`md5c.c`和`md5class.cpp`可能是包含MD5算法核心实现的源文件。`md5c.c`可能是一个简化的C语言版本的MD5实现,而`md5class.cpp`则可能是将MD5算法封装成...

    MD5加密java和android通用

    在Java中,MD5加密通常通过`java.security.MessageDigest`类实现。以下是一个简单的Java MD5加密示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public ...

    通用的MD5加密解密方法

    2. **C#中的MD5类库**:在C#中,`System.Security.Cryptography`命名空间提供了`MD5`类,我们可以利用这个类来实现MD5的加密操作。例如,可以创建一个MD5实例,然后使用`ComputeHash()`方法对输入的数据进行哈希运算...

    文件-AES-MD5-Upload-Minio工具类.zip

    标题中的"文件-AES-MD5-Upload-Minio工具类.zip"提到了四个关键概念:AES、MD5、Upload(上传)以及Minio,这些都是与文件操作、加密和云存储相关的技术。下面将对这些知识点进行详细的解释和探讨。 首先,AES...

    文件的MD5计算程序

    在MFC环境中实现这一过程,开发者可能会使用`CFile`类来处理文件读取,`CString`类来存储和显示MD5值,以及可能自定义的MD5计算类来封装MD5算法的具体逻辑。由于VC++6.0的年代较早,代码可能不包含现代C++的特性,如...

    主题:用JAVA类实现MD5加密-----MakeMD5.java

    根据给定的文件信息,我们可以深入探讨如何使用Java类实现MD5加密,这在现代软件开发,特别是涉及用户数据安全的场景中极为重要。MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它能将任意长度的数据...

    MD5密码加密文档

    `PwdEncoder.java`可能是另一个通用的密码编码接口或抽象类,它定义了密码编码的基本操作,而`Md5PwdEncoder`可能是实现这个接口的具体类。这样的设计遵循了面向对象编程中的"接口隔离原则",使得系统更易于扩展和...

    lua MD5插件

    MD5是一种广泛使用的加密散列函数,可将任意长度的数据转化为固定长度的128位(16字节)摘要,通常以32位的十六进制数字表示。在软件开发、数据校验和安全领域,MD5发挥着至关重要的作用。 Lua MD5插件的核心功能...

    MD5.rar_加密

    MD5的工作原理是通过一系列的数学运算,包括异或、位移、加法等,将输入的数据转化为固定长度的摘要信息。由于MD5的不可逆性,即无法通过摘要信息推导出原始数据,因此它常用于检验文件的完整性。当你下载一个文件后...

    将文本行转换为Md5并写到文件

    MD5函数将文本内容转化为一个固定的32位十六进制数,确保内容的唯一性。 4. **写入文件**:将得到的MD5值写入新的文件中。易语言的“写入文本文件”命令可用于此目的,将MD5值作为文本写入指定的输出文件。 5. **...

    delphi XE6 RSA加密解密签名 MD5WithRSA签名 Java通用

    MD5WithRSA签名是一种结合了MD5哈希函数和RSA加密的签名方法。它先对原始数据进行MD5哈希,然后用私钥对哈希值进行加密,得到的签名可以用公钥验证。在Delphi中,可以使用Indy库中的TIdHashMD5和TRsa对象完成这一...

    密码学-MD5 基于java源代码

    在Java中实现MD5算法,可以使用`java.security.MessageDigest`类。这个类提供了创建不同哈希算法实例的方法,包括MD5。 下面是一个简单的MD5哈希计算的Java源代码示例: ```java import java.security....

    md5散列加密算法 强大的工具

    MD5散列加密算法是一种广泛应用于信息安全领域的强效工具,主要功能是将任意长度的数据转化为固定长度的摘要信息。这个算法由Ronald L. Rivest在1991年提出,是早期的MD4算法的加强版。MD5全称为Message-Digest ...

    MD5加密算法C++源代码

    C++实现MD5加密时,你需要创建一个MD5类,该类可以接受字节序列并逐步执行上述步骤。你可能需要定义一些辅助函数来执行位操作,以及处理32位整数的加法和异或。最后,将得到的128位摘要转换为32位的十六进制字符串,...

    visual c++ md5加密算法完整源代码.zip

    3. `main.cpp`:主程序入口,用于测试MD5加密算法的实现,通常会有一个简单的示例来演示如何使用MD5类或函数。 4. `MD5.dsp`:这是Visual Studio早期版本的项目文件,用于构建和管理项目。 5. `MD5.dsw`:Visual ...

    MD5算法标准以及C++语言实现实例

    开发者可能已经编写了一个名为MD5的类,里面包含了计算MD5摘要的方法,并且可能封装了与原始MD5算法相关的低级操作,如位操作和循环。 `MD5算法标准RFC1321.txt`文件是MD5算法的官方文档,RFC(Request for ...

    MD5.zip_md5算法

    C++是一种通用的、面向对象的编程语言,具有高效和灵活的特点,因此它是实现MD5算法的理想选择。 描述中提到"在Linux环境下实现",这意味着代码可能利用了Linux操作系统提供的某些特性或工具,如标准输入输出、...

    MD5算法优化版.rar_md5_md5 c++_md5 vc_验证码 delphi

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,由Ronald Rivest在1991年设计。它能够将任意长度的数据转化为一个固定长度的摘要,通常为128位,以16进制表示就是32个字符。MD5的主要应用包括数据完整...

    MD5.rar_MD5算法源码_md5

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,由计算机科学家Ronald Rivest在1991年设计。它将任意长度的数据转化为一个128位(16字节)的固定长度摘要,通常以32位的十六进制数表示。这个过程是不...

Global site tag (gtag.js) - Google Analytics