import java.security.MessageDigest;
/**
* FileName:MD5.CLASS
* Author:Gboshi
* Create File Time:2006-07
* */
public class Md5 {
/**
* String Array?
* @pram MyMiss
* */
private final static String[] MyMiss = {
"0", "1", "2", "3", "4", "5", "6", "7",
"8", "9", "a", "b", "c", "d", "e", "f"};
public static String byteArrayToHexString(byte[] b)
{
StringBuffer sb = new StringBuffer();
for (int i = 0; i < b.length; i++)
{
sb.append(byteToHexString(b[i]));
}
return sb.toString();
}
private static String byteToHexString(byte b)
{
int n = b;
if (n < 0)
n = 256 + n;
int d1 = n / 16;
int d2 = n % 16;
return MyMiss[d1] + MyMiss[d2];
}
public static String md5(String origin)
{
String rs = null;
try {
rs=new String(origin);
MessageDigest md = MessageDigest.getInstance("MD5");
rs=byteArrayToHexString(md.digest(rs.getBytes()));
}
catch (Exception ex) {
ex.printStackTrace();
}
return rs;
}
//Test
public static void main(String agrs[]){
System.out.println(md5("admin"));
System.out.println(md5("ADMIN"));
}
}
分享到:
相关推荐
在"文件的MD5计算程序"这个项目中,开发者使用了VC++6.0作为编程环境,这是一款老版本的Microsoft Visual C++集成开发环境。C++是一种通用的、支持面向对象和模板的编程语言,而MFC库则提供了对C++进行Windows编程的...
这个“一个比较好用的md5计算工具”很可能是一个名为“MD5Summer”的应用程序,提供计算文件MD5值的功能。MD5Summer.exe很可能是该工具的可执行文件,用户下载后可以直接运行。下面我们将详细探讨MD5计算工具和MD5...
7. **代码测试**:在编写MD5加密解密程序时,需要进行大量的测试以确保其正确性。这包括但不限于各种数据类型、大小和编码方式的测试,以及与其他实现的MD5哈希结果的对比。 通过以上步骤,我们可以创建一个简单的...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的输入数据转换为固定长度的128位(16字节)摘要,通常以32位...然而,对于数据校验和简单哈希需求,MD5仍然是一个快速且实用的工具。
使用这个程序,开发者可以编写简单的命令行脚本来批量计算一组文件的MD5值,这对于文件完整性检查和版本控制非常有用。源代码中的错误修正,特别是缓冲区溢出错误的修复,确保了程序在处理大文件时的安全性。 要...
`main.cpp`是程序的主入口,它可能会包含一个简单的示例,展示如何使用MD5类来计算字符串的哈希值。这个文件可以用来测试MD5类的功能是否正确。 `MD5.dsp`和`MD5.dsw`是Visual Studio的老式项目文件,它们包含了...
2. `md5.h`:这是一个头文件,通常在C程序中用于声明函数原型、宏定义和其他接口信息。在这个情况下,`md5.h`可能会包含MD5函数的声明,比如`MD5Init`、`MD5Update`、`MD5Final`等,这些函数是MD5算法中的关键组成...
综上所述,通过易语言,我们可以构建一个简单的程序,读取用户指定的文本文件,对每一行进行MD5转换,然后将结果保存到新的文件中。这样的程序在数据校验、文件一致性检查等领域有实际应用价值。同时,对于初学者来...
在Windows平台上,还提供了可执行文件,这可能是将C++编译的MD5程序打包成的,用户可以直接运行以快速计算MD5值,而无需编译源代码。 在安全方面,虽然MD5因为其碰撞漏洞(即能找到两个不同的输入数据产生相同的MD5...
MD5算法的特点是快速、简单,并且对于任意输入,其输出都是唯一的,但需要注意的是,MD5已经不再被认为是安全的,因为它容易受到碰撞攻击。 2. **C++编程语言**:C++是一种静态类型、编译式的通用编程语言,支持...
C++ 是一种通用的编程语言,具有面向对象的特性,适合用于开发各种类型的应用程序,包括处理加密和哈希算法。 在C++中实现MD5算法通常涉及以下几个核心步骤: 1. **初始化MD5状态**:MD5算法使用一个128位的状态来...
源程序文件“Md5”可能包含了以下内容: 1. 包含必要的头文件,如 `<openssl/md5.h>`,用于调用OpenSSL库中的MD5函数。 2. 定义一个类,可能名为`CMd5`,继承自MFC的基类,比如`CDialog`,用于创建对话框界面。 3. ...
总的来说,C语言实现的MD5编解码程序可以方便地在多种环境中应用,包括单片机,提供了一种通用的数据校验手段。通过理解和实现这样的程序,开发者可以深入理解哈希函数的工作原理,并提升在系统安全和数据完整性方面...
根据给定的文件信息,我们可以总结出以下...MD5算法虽然简单易用,但在安全性方面存在一定的局限性,因此在实际应用中需要根据场景选择合适的加密算法。对于安全性要求较高的场景,建议使用SHA-256等更安全的哈希算法。
接下来,通过`new MD5CryptoServiceProvider()`实例化了一个MD5算法服务提供程序对象。`MD5CryptoServiceProvider`是.NET Framework中用于执行MD5哈希算法的类,它继承自`HashAlgorithm`基类,提供了计算消息摘要的...
综合以上分析,这个压缩包提供了一个使用Visual Basic .NET编写的程序,该程序可能实现了计算文件MD5值的功能,并且可能有一个简单的用户界面。开发者或使用者可以通过查看和运行这个程序来了解MD5算法的实现过程,...
下面是一个简单的MD5哈希计算的Java源代码示例: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5Example { public static String calculateMD5...
- `GLOBAL.H`:可能包含了全局变量和通用函数的声明,供MD5算法使用。 - `MAKEFILE`:用于构建MD5程序的配置文件,指示编译器如何编译和链接源代码。 - `MD5_1.PS`:可能是关于MD5算法的PDF文档,可能包含算法的详细...
通过分析这些文件,开发者可以学习如何在Delphi中创建一个简单的MD5加密应用,包括如何导入和使用加密库,如何设计用户界面以及如何处理加密后的数据。对于那些想要在Delphi项目中集成MD5加密功能的程序员来说,这个...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,由Ronald Rivest在1991年设计。它能够将任意长度的数据转化为一个固定长度的摘要,通常为128位,以16进制表示就是32个字符。MD5的主要应用包括数据完整...