`

MD5算法的一个实现

    博客分类:
  • JAVA
阅读更多
/**
 * MD5算法
 */
public class MD5 {

	/**
	 * 获取MD5 结果字符串
	 * 
	 * @param source
	 * @return
	 */
	public static String encode(byte[] source) {
		String s = null;
		char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' };
		try {
			java.security.MessageDigest md = java.security.MessageDigest.getInstance("MD5");
			md.update(source);
			byte tmp[] = md.digest(); 
			char str[] = new char[16 * 2]; 
			int k = 0; 
			for (int i = 0; i < 16; i++) { 
				byte byte0 = tmp[i]; 
				str[k++] = hexDigits[byte0 >>> 4 & 0xf]; 
				str[k++] = hexDigits[byte0 & 0xf]; 
			}
			s = new String(str); 
		} catch (Exception e) {
			e.printStackTrace();
		}
		return s;
	}
	
	public static String getMD5(String source) {
		return (source == null || "".equals(source)) ? "" : getMD5(source);
	}
}


引用
具体出处已忘记,防止遗忘
分享到:
评论
1 楼 莴笋的春天 2018-03-28  
能解密吗?

相关推荐

    matlab实现md5算法,md5算法详解,matlab

    总结来说,MATLAB实现MD5算法涉及的主要知识点包括:MD5算法的背景和用途,哈希函数的基本概念,MD5算法的四轮循环结构,FF、GG、HH、II四个非线性函数的作用,以及MATLAB中位运算和数组操作的应用。通过学习这个...

    MD5算法封装DLL MD5算法封装DLL MD5算法封装DLL

    通过这种方式,开发人员无需在每个项目中实现MD5算法,而是可以直接引用MD5EncrypDLL,这样可以减少代码重复,提高效率,并且方便更新和维护。 在MD5EncrypDLL中,可能包含了以下功能: 1. `MD5_Init`:初始化MD5...

    MD5 算法的实现过程

    MD5 算法的实现过程MD5 算法的实现过程MD5 算法的实现过程

    MD5算法的Java实现类

    尽管如此,在很多不需要高强度安全性的场合,MD5仍然是一个快速且实用的选择。 在压缩包中的"MD5算法的Java实现类"可能包含了上述的代码实现,你可以通过查看源码进一步理解MD5的Java实现细节。同时,也可以扩展这...

    C语言MD5算法STM32单片机亲测可用

    总的来说,C语言实现的MD5算法在STM32单片机上的应用,需要对C语言编程、嵌入式系统开发以及MD5算法本身有深入理解。通过 lwIP协议栈中的MD5功能,可以增强系统的安全性和可靠性,特别是在网络通信和数据保护方面。

    c语言实现md5算法

    1. 初始化:MD5算法首先设置四个32位的中间变量A、B、C和D,并且填充一个64字节的缓冲区。这些变量和缓冲区的初始值都是预定义的。 2. 更新:这个阶段是MD5的核心部分,它接收输入的数据块并进行一系列的位操作,...

    Hash-MD5算法(C语言实现,附带Hash验证工具)

    1. 初始化:MD5算法包含四个32位的中间变量A、B、C和D,以及一个128位的消息缓冲区。初始化这些变量为预设值,如0x67452301、0xefcdab89、0x98badcfe和0x10325476。 2. 扩展:将输入的数据块(512位)进行一系列...

    超高吞吐量MD5算法的FPGA实现.pdf

    Rivest发明以来,MD5算法已经成为了信息安全领域中的一项重要技术,它通过对输入信息进行编码,生成一个128位的散列值(也称为哈希值),任何输入信息中微小的变化都会导致最终的哈希值产生巨大变化,因此常用于...

    使用java实现MD5算法的代码

    MD5算法源代码,java类型的,实此程序现了md5算法,能正确运行!

    MD5 加密算法 C++实现源码

    通常,会有一个类(如`MD5`)封装了上述过程,提供一个接口供外部调用,如`hash1`函数,这个函数接受一个字符串作为参数,返回该字符串的MD5摘要。 `MD5.H`文件则包含了MD5类的定义和相关函数声明。类的成员变量...

    MD5算法实现源代码程序

    在"MD5算法"这个压缩包中,可能包含了MD5算法的源代码实现,可能是用C、C++、Python或其他语言编写的。通过学习和理解这些代码,可以加深对MD5算法原理的理解,以及如何在实际项目中应用和实现哈希函数。对于开发...

    MD5算法 C语言实现

    MD5算法C语言实现

    C++实现MD5算法程序设计与实现.zip

    对于输入的任一不定长度信息, MD5算法在对最后一块进行填充后用512个比特对其进行分组,使用压缩函数将其生成4个32比特的数据,合并为128比特的信息摘要。MD5实现的基本过程为填充,分块,缓冲区初始化,循环压缩,...

    MD5算法的实现

    1. **数据结构**:MD5算法需要维护一个128位的中间结果,通常用四个32位整数表示,即A、B、C、D。 2. **初始化常量**:MD5有64个初始化常量,它们是根据特定公式计算出来的,用于主循环中的计算。 3. **32位操作**:...

    MD5算法的JAVA实现

    这是一个MD5算法的JAVA实现,将对应的包名修改一下即可

    MD5算法java的实现

    总之,MD5算法在Java中的实现是一个简单而强大的工具,它可以提供数据的完整性验证,并在许多场景下发挥着重要作用。然而,随着技术的发展,对于安全性要求更高的场合,应考虑使用更安全的替代方案。

    MD5算法BCB模块

    在这个"MD5算法BCB模块"中,提供了一个可以在XE10环境下无缝集成的C++Builder类模块,这意味着开发者可以直接将这个模块导入到他们的项目中,而无需进行任何适应性的代码修改。这对于快速实现MD5计算功能非常方便,...

    C++实现的MD5算法

    总的来说,C++实现的MD5算法是信息安全领域的一个重要工具,理解和掌握其原理和实现方法,对于从事软件开发、网络管理等工作都十分有益。通过阅读和研究提供的工程文件,你可以深入理解MD5的细节,并将其应用到自己...

    C# 实现MD5算法

    代码示例中定义了一个名为`MD5`的类,该类包含了一系列静态变量和方法来实现MD5算法的核心逻辑。 - **状态变量**:`A`, `B`, `C`, `D` 这四个变量是算法执行过程中的状态变量,它们的初始值被设定为特定的十六进制...

Global site tag (gtag.js) - Google Analytics