Java实现MD5加密的方法_java

本文实例讲述了Java实现MD5加密的方法。分享给大家供大家参考。具体实现方法如下:

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class MD5HashUtil
{
private MessageDigest md = null;
private static MD5HashUtil md5 = null;
private static final char[] hexChars ={'0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F'}; 

  /**
  * Constructor is private so you must use the getInstance method
  */
  private MD5HashUtil() throws NoSuchAlgorithmException
  {
   md = MessageDigest.getInstance("MD5");
  }
  /**
  * This returns the singleton instance
  */
 public static MD5HashUtil getInstance()throws NoSuchAlgorithmException
 {
   if (md5 == null)
   {
     md5 = new MD5HashUtil();
   }
   return (md5);
 }
 public static String hashCode(String dataToHash) throws NoSuchAlgorithmException{
 return getInstance().hashData(dataToHash.getBytes());
 }
 public static String hashCode(byte[] dataToHash) throws NoSuchAlgorithmException{
 return getInstance().hashData(dataToHash);
 }
public String hashData(byte[] dataToHash) {
   return hexStringFromBytes((calculateHash(dataToHash))).toLowerCase();
}
private byte[] calculateHash(byte[] dataToHash)
{
   md.update(dataToHash, 0, dataToHash.length);
   return (md.digest());
}
public String hexStringFromBytes(byte[] b)
{
  String hex = "";
  int msb;
  int lsb = 0;
  int i;
  // MSB maps to idx 0
  for (i = 0; i < b.length; i++)
  {
   msb = ((int)b[i] & 0x000000FF) / 16;
   lsb = ((int)b[i] & 0x000000FF) % 16;
    hex = hex + hexChars[msb] + hexChars[lsb];
  }
   return(hex);
}
public static void main(String args[]) throws NoSuchAlgorithmException
{
   String string = "my name is zhangli";
   System.out.println(string);
   System.out.println(hashCode(string));
}
} 

如上代码为java语言实现md5加密算法,输出为加密后的密文!
通常将加密后的密文保存在数据库中,如果需要比较只比较他们的用md5加密过后的密文。

同时,md5加密算法是不可逆的,破解的难度很高,虽然有人破解了md5,但是他们所用的硬件环境不是我们普通的计算机所比拟的,山大的一位很牛的女教授也破解了md5,不过不怎么了解

希望本文所述对大家的java程序设计有所帮助。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索java
MD5加密
java实现md5加密解密、php实现java的md5加密、java实现md5加密、php 实现java md5加密、md5加密算法 java实现,以便于您获取更多的相关知识。

时间: 2024-09-11 06:26:52

Java实现MD5加密的方法_java的相关文章

Java后端实现MD5加密的方法_java

前言 在我们开发是要考虑这个功能,当用户忘记密码的情况下,我们需要动态的发给他一个6位的随机密码,通过即时通,短信,微信等.并同时修改数据库中的原密码为这6位的随机密码.让用户再去修改密码. 同时在数据库中的密码必须存为密文,于是需要使用到MD5加密.生成的6位随机密码需要保密,不能在前台处理,只能放在后端.于是我选择放在了控制层中 示例代码 //传入任何需要加密的文本进行加密 public static String getMd5(String string) { try { MessageD

java编程下字符串的16位,32位md5加密实现方法_java

如下所示: package cn.sunzn.md5; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class Str2MD5 { public static void main(String[] args) { MD5("sunzn"); } private static String MD5(String sourceStr) { String r

Java生成MD5加密字符串代码实例_java

      (1)一般使用的数据库中都会保存用户名和密码,其中密码不使用明码保存.     有时候用MD5密码,很多语言都提供了将字符串生成为MD5密码的方法或函数.MD5的加密算法是公开的.     有时候也可以用自己的字符串加密算法,这种加密算法是只有自己知道的. (2)破解MD5的过程就是先算好大量或者所有可能的字符串的MD5数值,之后进行查询就可以破解.虽然有些网站规定了密码的位数在6~20位之间,但是要事先计算这么多是字符串并有效的组织存储.查询还是相当麻烦,相当慢的. 因为MD5的位

JAVA 字符串加密、密码加密实现方法_java

在我们的程序设计中,我们经常要加密一些特殊的内容,今天总结了几个简单的加密方法,分享给大家! 如何用JAVA实现字符串简单加密解密?为保证用户信息安全,系统在保存用户信息的时候,务必要将其密码加密保存到数据库.  需要使用密码的时候,取出数据,解密处理即可.  避免保存明文密码. 方案一: package com.tnt.util; import java.security.MessageDigest; public class StringUtil { private final static

java MD5加密实现代码_java

先从下面这张图对MD5加密实现进行了解,具体如下 package com.pb; import java.io.UnsupportedEncodingException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.Scanner; /* * 验证MD5 * 1.初始化MessageDigest信息摘要对象 * 2.传入需要计算的字符串更新摘

java加密算法--MD5加密和哈希散列带秘钥加密算法源码_java

java加密算法--MD5加密和哈希散列带秘钥加密算法源码              最近学习加密算法的知识,利用MD5 加密,百度一下网上资料很多,不是很详细,这里就整理下如何实现用MD5加密和 哈希散列带秘钥加密算法,大家可以看下. 实现代码: package com.ompa.common.utils; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java

java的md5加密类(zt)

加密 java的md5加密类 MD5算法是将数据进行不可逆加密的算法有较好的安全性,在国内如寿信的安全支付平台就采用此算法. 源代码如下/************************************************MD5 算法的Java BeanLast Modified:10,Mar,2001*************************************************/ import java.lang.reflect.*; /************

Android实现简单MD5加密的方法_Android

本文实例讲述了Android实现简单MD5加密的方法.分享给大家供大家参考,具体如下: 网上关于android下MD5加密的资料很多,但是测试了下总是跟网站的md5加密不一样, 后来才知道是编码方式不对,于是就自己写了一个. private static final char HEX_DIGITS[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'B', 'C', 'D', 'E', 'F' }; public stati

在JSP中如何实现MD5加密的方法_javascript技巧

在各种应用系统的开发中,经常需要存储用户信息,很多地方都要存储用户密码,而将用户密码直接存储在服务器上显然是不安全的,本文简要介绍在JSP中如何实现MD5加密的方法,希望能抛砖引玉. (一)消息摘要简介 一个消息摘要就是一个数据块的数字指纹.即对一个任意长度的一个数据块进行计算,产生一个唯一指印(对于SHA1是产生一个20字节的二进制数组).消息摘要是一种与消息认证码结合使用以确保消息完整性的技术.主要使用单向散列函数算法,可用于检验消息的完整性,和通过散列密码直接以文本形式保存等,目前广泛使用