`
tsinglongwu
  • 浏览: 231495 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

MD5 Java应用

    博客分类:
  • java
阅读更多
import java.security.MessageDigest;

/**
 * cipher user password by MD5
 * 
 * @author Administrator
 * @date 2011-2-11
 */
public class CipherUtil {

	private final static String[] hexDigits = { "0", "1", "2", "3", "4", "5",
			"6", "7", "8", "9", "a", "b", "c", "d", "e", "f" };

	/**
	 * cipher password
	 * 
	 * @param inputString
	 * @return
	 */
	public static String generatePassword(String inputString) {
		return encodeByMD5(inputString);
	}

	/**
	 * validate password
	 * 
	 * @param password
	 * @param inputString
	 * @return
	 */
	public static boolean validatePassword(String password, String inputString) {
		if (password.equals(encodeByMD5(inputString))) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * encode
	 * 
	 * @param originString
	 * @return
	 */
	private static String encodeByMD5(String originString) {
		if (originString != null) {
			try {
				MessageDigest md = MessageDigest.getInstance("MD5");
				byte[] results = md.digest(originString.getBytes());
				String resultString = byteArrayToHexString(results);
				return resultString.toUpperCase();
			} catch (Exception ex) {
				ex.printStackTrace();
			}
		}
		return null;
	}

	/**
	 * change the Byte[] to hex string
	 * 
	 * @param b
	 * @return
	 */
	private static String byteArrayToHexString(byte[] b) {
		StringBuffer resultSb = new StringBuffer();
		for (int i = 0; i < b.length; i++) {
			resultSb.append(byteToHexString(b[i]));
		}
		return resultSb.toString();
	}

	/**
	 * change a byte to hex string
	 * 
	 * @param b
	 * @return
	 */
	private static String byteToHexString(byte b) {
		int n = b;
		if (n < 0)
			n = 256 + n;
		int d1 = n / 16;
		int d2 = n % 16;
		return hexDigits[d1] + hexDigits[d2];
	}

	public static void main(String[] args) {
		String pwd1 = "admin";
		String pwd2 = "";
		CipherUtil cipher = new CipherUtil();
		System.out.println("未加密的密码:" + pwd1);
		// 将admin加密
		pwd2 = cipher.generatePassword(pwd1);
		System.out.println("加密后的密码:" + pwd2);

		System.out.print("验证密码是否正确:");
		if (cipher.validatePassword(pwd2, pwd1)) {
			System.out.println("正确");
		} else {
			System.out.println("错误");
		}
	}

}
分享到:
评论

相关推荐

    md5 java 应用

    在Java中,MD5的应用相当常见,尤其是在密码存储、文件校验等领域。下面我们将深入探讨如何在Java中使用MD5。 首先,Java提供了一个内置的`java.security.MessageDigest`类,它允许我们计算各种类型的摘要,包括MD5...

    Md5.java.rar_MD5 JAVA_MD5.ja_java md5_md5_md5 java realization

    在实际应用中,MD5在Java中的实现通常包括以下几个步骤: 1. 引入相关库:Java标准库已经内置了`java.security.MessageDigest`类,用于实现各种哈希算法,包括MD5。 2. 初始化MD5实例:通过`MessageDigest....

    md5 java 代码

    给定的文件信息提供了一个Java代码示例,用于实现MD5哈希算法,下面将详细解析这段代码,并深入探讨MD5算法在Java中的应用。 ### MD5算法简介 MD5(Message-Digest Algorithm 5)是RSA数据安全公司设计的一种散列...

    md5java代码+md5工具

    在Java编程中,MD5常被用来生成一个固定长度(32位)的十六进制数字摘要,这个摘要能唯一地代表原始数据。这种特性使得MD5在存储密码、验证文件完整性和防止数据篡改等方面有着重要的应用。 首先,让我们来看看`...

    MD5在java中应用实例

    MD5在Java中的应用主要涉及数据的加密与验证,它是一种广泛使用的散列函数,能够将任意长度的数据转化为固定长度的128位(16字节)的哈希值。这个哈希值通常以32位的16进制字符串形式呈现。MD5算法在信息安全领域...

    解决java 与C# MD5 不一致问题 代码

    ### 解决Java与C# MD5不一致问题 在软件开发过程中,经常需要对数据进行加密处理以确保数据的安全性和一致性。MD5是一种常用的哈希算法,被广泛应用于各种场景中,如密码加密、文件校验等。但在跨平台或多语言环境...

    MD5_java.rar_MD5 JAVA_java md5_md5_md5算法

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于信息安全领域,用于对数据进行校验,确保数据的完整性和一致性。在Java编程语言中,MD5算法通常用于生成固定长度的128位(16字节)摘要,这...

    使用java实现MD5算法的代码

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

    java生成md5密码加盐

    在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5哈希。首先,我们需要导入相关的库: ```java import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; ``` 然后,...

    JAVA_对文件MD5加密

    ### JAVA_对文件进行MD5加密 在计算机科学与信息安全领域中,MD5(Message-Digest Algorithm 5)是一种广泛使用的散列函数,能够将任意长度的数据映射为一个固定长度(通常是128位)的十六进制数值。这种算法在数据...

    MD5加密 java学习

    MD5加密技术在Java中的应用与实现 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,主要用于确保数据的完整性和安全性。在Java编程语言中,MD5加密常用于密码保护、数据校验等场景,通过将原始字符串...

    md5算法java

    ### MD5算法在Java中的实现 #### 一、概述 MD5(Message-Digest Algorithm 5)是一种广泛使用的散列算法,它能够将任意长度的数据转换为一个固定长度(通常是128位)的十六进制字符串。这种转换通常被称为“摘要”...

    md5码 java 程序

    MD5的应用场景: 1. 文件完整性检查:MD5码可以用来校验文件在传输或存储过程中是否被篡改。 2. 用户密码安全:虽然MD5在现代已经被认为不够安全,但在早期,它常用于对用户密码进行单向哈希,以保护密码不被直接...

    java调用MD5加密方式计算摘要值(有界面)

    在提供的"MessageSecurity"文件中,可能包含了一个具有图形用户界面(GUI)的Java应用程序,该程序允许用户输入文本并显示其MD5摘要值。这可能是为了教学目的,让用户直观地理解MD5加密的过程。这样的界面通常会包含...

    java实现MD5加密算法

    6. **MD5的应用**:在Java中,MD5常用于验证文件完整性,比如下载文件后检查MD5值是否与原始文件一致。此外,过去也曾用于密码存储,但现在通常会使用更安全的哈希算法如SHA-256,并配合盐值和迭代次数增加安全性。 ...

    MD5加密程序java代码.rar_MD5 JAVA_java md5_md5

    在Java中,我们可以使用`java.security.MessageDigest`类来实现MD5加密。 MD5的主要应用场景包括文件完整性校验、用户密码存储(虽然现在MD5因为安全性问题不建议用于密码存储)和数据验证。其优点在于计算速度快,...

    java md5加密 解密

    MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,主要应用于数据的校验和加密。在Java中,MD5加密通常用于生成固定长度的数字...了解MD5的工作原理以及其在Java中的应用,对于开发者来说是非常重要的。

    MD5 Java-class

    虽然MD5在许多场景下仍然可用,但因为它已知存在一些碰撞攻击,不推荐用于安全性要求高的应用,如密码存储。对于密码,现在更倾向于使用如SHA-256或bcrypt等更安全的哈希算法,并结合盐值和多次迭代以增强安全性。 ...

    java的md5加密解密

    ### Java中的MD5加密与“解密”技术详解 #### 一、MD5算法简介 MD5(Message-Digest Algorithm 5)是一种广泛使用的密码散列函数,可以产生一个128位(16字节)的散列值,通常用于确保数据的完整性和一致性。在...

    MD5和RSA加密算法Java完成实现

    MD5和RSA是两种在计算机安全领域广泛应用的加密算法,它们在Java中有着广泛的实现。MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它将任意长度的数据转化为固定长度的摘要,通常为128位,通常表示为...

Global site tag (gtag.js) - Google Analytics