欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java實(shí)現(xiàn)MD5加密的方法

 更新時(shí)間:2015年07月24日 10:27:43   作者:fzhlee  
這篇文章主要介紹了Java實(shí)現(xiàn)MD5加密的方法,實(shí)例分析了基于java實(shí)現(xiàn)md5加密的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Java實(shí)現(xiàn)MD5加密的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

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語(yǔ)言實(shí)現(xiàn)md5加密算法,輸出為加密后的密文!
通常將加密后的密文保存在數(shù)據(jù)庫(kù)中,如果需要比較只比較他們的用md5加密過(guò)后的密文。

同時(shí),md5加密算法是不可逆的,破解的難度很高,雖然有人破解了md5,但是他們所用的硬件環(huán)境不是我們普通的計(jì)算機(jī)所比擬的,山大的一位很牛的女教授也破解了md5,不過(guò)不怎么了解

希望本文所述對(duì)大家的java程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 使用Spring?AOP實(shí)現(xiàn)用戶操作日志功能

    使用Spring?AOP實(shí)現(xiàn)用戶操作日志功能

    這篇文章主要介紹了使用Spring?AOP實(shí)現(xiàn)了用戶操作日志功能,功能實(shí)現(xiàn)需要一張記錄日志的log表,結(jié)合示例代碼給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-05-05
  • 關(guān)于Logback+MyBatis日志輸出問(wèn)題的一些思考

    關(guān)于Logback+MyBatis日志輸出問(wèn)題的一些思考

    這篇文章主要介紹了關(guān)于Logback+MyBatis日志輸出問(wèn)題的一些思考,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,
    2023-09-09
  • java中重寫父類方法加不加@Override詳解

    java中重寫父類方法加不加@Override詳解

    這篇文章主要介紹了java中重寫父類方法加不加@Override詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • java面向國(guó)際化項(xiàng)目開(kāi)發(fā)需遵循的命名規(guī)范

    java面向國(guó)際化項(xiàng)目開(kāi)發(fā)需遵循的命名規(guī)范

    這篇文章主要為大家介紹了在參與開(kāi)發(fā)國(guó)際化項(xiàng)目時(shí)需遵循的java命名規(guī)范,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03
  • Mybatis批量刪除數(shù)據(jù)操作方法

    Mybatis批量刪除數(shù)據(jù)操作方法

    MyBatis的作用我想不用多說(shuō),今天說(shuō)說(shuō)MyBatis中的批量刪除操作。 非常不錯(cuò),感興趣的朋友一起看看吧
    2016-09-09
  • Jenkins與SVN持續(xù)集成的示例代碼

    Jenkins與SVN持續(xù)集成的示例代碼

    這篇文章主要介紹了Jenkins與SVN持續(xù)集成的示例代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Java實(shí)現(xiàn)單例模式之餓漢式、懶漢式、枚舉式

    Java實(shí)現(xiàn)單例模式之餓漢式、懶漢式、枚舉式

    本篇文章主要介紹了Java實(shí)現(xiàn)單例的3種普遍的模式,餓漢式、懶漢式、枚舉式。具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2016-10-10
  • springboot 集成cas5.3 實(shí)現(xiàn)sso單點(diǎn)登錄詳細(xì)流程

    springboot 集成cas5.3 實(shí)現(xiàn)sso單點(diǎn)登錄詳細(xì)流程

    SSO的定義是在多個(gè)應(yīng)用系統(tǒng)中,用戶只需要登錄一次就可以訪問(wèn)所有相互信任的應(yīng)用系統(tǒng)。單點(diǎn)登錄是目前比較流行的企業(yè)業(yè)務(wù)整合的解決方案之一,本文給大家介紹springboot 集成cas5.3 實(shí)現(xiàn)sso單點(diǎn)登錄功能,感興趣的朋友一起看看吧
    2021-10-10
  • Java?NIO實(shí)現(xiàn)聊天功能

    Java?NIO實(shí)現(xiàn)聊天功能

    這篇文章主要為大家詳細(xì)介紹了Java?NIO實(shí)現(xiàn)聊天功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • Java實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能

    Java實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能

    Java如何實(shí)現(xiàn)驗(yàn)證碼驗(yàn)證功能呢?日常生活中,驗(yàn)證碼隨處可見(jiàn),他可以在一定程度上保護(hù)賬號(hào)安全,那么他是怎么實(shí)現(xiàn)的呢?今天通過(guò)本文給大家實(shí)例詳解,需要的朋友參考下
    2017-02-02

最新評(píng)論