MD5总结
package com.medishare.platform.pharos.client.common; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; /** * * @author jiangyunpeng * */ public class MD5 { private static String[] digits = { "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "a", "b", "c", "d", "e", "f" }; //private static char[] digits = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; //返回形式为数字跟字符串 private static String byteToArrayString(byte bByte) { int iRet = bByte; if (iRet < 0) { iRet += 256; } int iD1 = iRet / 16; int iD2 = iRet % 16; return digits[iD1] + digits[iD2]; } //转换字节数组为16进制字串 private static String byteToString(byte[] bByte) { StringBuffer sBuffer = new StringBuffer(); for (int i = 0; i < bByte.length; i++) { sBuffer.append(byteToArrayString(bByte[i])); } return sBuffer.toString(); } // private static String byteToString(byte[] bt) { // int l = bt.length; // // char[] out = new char[l << 1]; // // for (int i = 0, j = 0; i < l; i++) { // out[j++] = digits[(0xF0 & bt[i]) >>> 4]; // out[j++] = digits[0x0F & bt[i]]; // } // // return new String(out); // } // public static String getMD5Code(Object obj) { String str = obj.toString(); if (str == null || str.length() == 0) { return "0000000000000000"; } String resultString = null; try { MessageDigest md = MessageDigest.getInstance("MD5"); // md.digest() 该函数返回值为存放哈希值结果的byte数组 byte[] out = md.digest(str.getBytes()); System.out.println(out.length); resultString = byteToString(out); } catch (NoSuchAlgorithmException ex) { ex.printStackTrace(); } return resultString.substring(8, 24); } public static void main(String[] args) { for (int i = 0; i < 10; ++i) { String md5 = MD5.getMD5Code(i); System.out.println(md5); } } }
zhu
相关推荐
总结来说,MATLAB实现MD5算法涉及的主要知识点包括:MD5算法的背景和用途,哈希函数的基本概念,MD5算法的四轮循环结构,FF、GG、HH、II四个非线性函数的作用,以及MATLAB中位运算和数组操作的应用。通过学习这个...
### MD5算法详解 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的消息压缩成一个固定长度(128位)的散列值,通常用于数据完整性的校验、密码存储等场景。MD5算法的...
### MD5算法详解 #### 一、MD5算法概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,它可以将任意长度的消息转换成一个固定长度的散列值,通常用来验证数据的完整性。MD5算法的核心在于它能够快速...
MD5(Message-Digest ...总结一下,`MD5.m`文件是一个MATLAB实现的MD5算法,它遵循了MD5的典型步骤:初始化、预处理、迭代计算和组合结果。这个功能可以用来计算任何输入数据的MD5摘要,以检查数据的完整性和一致性。
5. **MD5总结**:将所有块处理的结果进行组合,通过一次简单的位运算生成最终的128位MD5摘要。 在"MD5Test"这个文件中,很可能包含了一个C++程序,用于演示MD5算法的实现。这个程序可能包含了以下组件: 1. **MD5...
总结来说,这个实例提供了在C++环境下使用MD5算法的具体方法,对于初学者理解MD5的原理和实践应用有着重要的参考价值。通过阅读和运行`md5c.c`和`testMd5`,你可以更好地了解MD5的计算过程,并掌握如何在自己的项目...
### MD5加密算法详解 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,它能够接收任意长度的信息,并产生一个128位(16字节)的散列值。该算法由Ron Rivest在1991年设计,作为...
### Java中的MD5算法 #### 一、简介 ...总结来说,Java中实现MD5算法相对简单,但需要理解其背后的原理和应用场景。通过上述内容的学习,可以帮助开发者更好地掌握MD5算法在Java中的使用方法及其背后的原理。
总结来说,MD5算法是信息安全领域中一个重要的里程碑,它在过去的几十年里为数据完整性提供了便利。然而,由于其安全性的逐渐降低,MD5现在已经不适合用于高安全性的需求,而是被更先进的哈希函数所替代。
### MD5算法详解 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的消息压缩为一个固定长度的摘要或“指纹”。该算法由Ron Rivest在1992年设计,旨在为数字签名应用...
根据提供的信息,我们可以详细解析如何在C#中实现MD5算法。MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,用于生成一个128位(16字节)的散列值。它通常用于确保数据完整性和进行密码哈希处理等...
总结,C语言实现MD5算法涉及多个步骤和概念,包括数据预处理、主循环运算、字节序处理以及结果转换。尽管MD5在安全性上已不再理想,但其在理解哈希函数的工作原理和C语言编程方面仍具有教育意义。
总结来说,MD5算法是信息安全领域的一个重要工具,尽管其安全性已被削弱,但对于非安全场景的文件校验仍有价值。了解其原理、源码实现以及应用场景,对于深入理解信息安全和数据处理非常有帮助。
### MD5算法在C#中的实现 #### 一、引言 MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,能够将任意长度的信息转换为一个固定长度的128位(16字节)散列值。由于其计算速度快且散列值固定,常...
### MD5算法C语言实现详解 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,它能将任意长度的数据转换成一个固定长度(通常是128位或16字节)的十六进制字符串。这种散列函数在信息...
### MD5算法研究 #### MD5算法概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希算法,主要用于生成固定长度的消息摘要。MD5算法由Ronald L. Rivest于1991年在MIT Laboratory for Computer Science和...
总结来说,MD5值算法工具是一个方便的数据校验工具,包含了MD5、SHA1和CRC32三种主流的校验算法。通过使用这款软件,用户能快速检查文件的完整性,并确保数据的一致性,这对于数据备份、软件分发以及网络传输等领域...
总结来说,MD5是一种不可逆的哈希算法,主要用于数据完整性验证,而DES是一种对称加密算法,可以进行数据的加密和解密。在实际应用中,MD5因安全性问题应谨慎使用,而DES虽然较老,但在某些场合仍可作为加密手段,但...