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("错误");
}
}
}
分享到:
相关推荐
在Java中使用MD5
MD5算法源代码,java类型的,实此程序现了md5算法,能正确运行!
以实例方式展示了MD5算是如何在java中应用的,需要的就下载吧
能直接在java的应用程序中使用的MD5加密实现的jar包, 调用方法:转化成MD5:MD5.getEncryptedPwd(user.getPassword()) MD5验证:MD5.validPassword(password, user.getPassword())
Java实现的Base64、MD5、3DES三种工具 本文档将对Java实现的Base64、MD5、3DES三种工具进行详细的知识点解析。 一、Base64加密工具 Base64是一种基于ASCII字符集的加密方法,它使用一个64字符的字符集来表示二...
MD5的在实际应用中的作用,实质,及基本的原理,使用java实现MD5加密,代码实现并获得加密串。
密码学MD5算法的java源代码,其中包含详细注释,以及几组测试数据,程序能够正确运行。
Java Md5字符串加密类代码分享,MD5是一个比较常见的字符串加密算法,在JAVA中应用也相当普遍,这个MD5算法类或许可以直接套用,代码中的关键部分带有注释 ,方便您的使用和学习。需要使用MD5对字符串加密的,那就...
Java中的MD5是一种加密算法,它可以将任意长度的消息压缩到128位的消息摘要中。MD5已被广泛应用于计算机领域,包括密码学、数字签名等。当您需要对敏感数据进行安全传输时,MD5是一种常用的加密方式。在Java中,MD5...
java+MD5加密代码,接口应用较多
MD5加密算法,主要对一段信息(Message)产生信息摘要(Message-Digest),以防止被篡改。利用MD5算法来进行文件校验的方案被大量应用到软件下载站、论坛数据库、系统文件安全等方面。
您可能感兴趣的文章:MySQL加密和解密实例详解Java、JavaScript、Oracle、MySQL中实现的MD5加密算法分享PHP MySQL应用中使用XOR运算加密算法分享MySQL 加密/压缩函数mysql双向加密解密方式用法详解MySQL 整表加密...
Java 中常用的加密算法有多种,包括 MD5、SHA 和 RSA 等,这些算法在不同的应用场景中发挥着重要作用。下面将对这些算法进行详细的介绍和分析。 一、MD5 加密算法 MD5(Message-Digest Algorithm 5)是一种常用的...
hash函数之md5程序,可运行,包含testbench
一个字符串加密算法类的代码文件,你在用JAVA开发一些应用,这个MD5算法类可以直接套用,代码中的关键部分带有注释
MD5 SHA1 SHA256 签名信息 点击签名信息可复制到剪切板, GitHub:https://github.com/sunan-n/GetAppInfo 如下图: ```java 主要就是这个方法,传参数进来获取相应的签名类型 信息 public static String ...
<br> MD5的典型应用是对一段Message(字节串)产生fingerprint(指纹),以防止被“篡改”。举个例子,你将一段话写在一个叫 readme.txt文件中,并对这个readme.txt产生一个MD5的值并记录在案,然后你可以传播这个...
主要介绍了java 实现MD5加密算法的简单实例的相关资料,这里提供实例帮助大家应用这样的加密算法,需要的朋友可以参考下
Java中常用的加密算法应用,MD5!