最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

本文實例講述了Java實現(xiàn)MD5加密的方法。分享給大家供大家參考。具體實現(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語言實現(xiàn)md5加密算法,輸出為加密后的密文!
通常將加密后的密文保存在數(shù)據(jù)庫中,如果需要比較只比較他們的用md5加密過后的密文。

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

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

相關(guān)文章

  • JSONObject如何轉(zhuǎn)為實體類對象

    JSONObject如何轉(zhuǎn)為實體類對象

    介紹了JSONObject轉(zhuǎn)為實體類對象的三種方法:JSONObject中的toJavaObject方法和getObject方法支持深轉(zhuǎn)換,而JSON中的parseObject方法只能轉(zhuǎn)換一層對象,此外,還補充說明了在對JSON轉(zhuǎn)為實體類對象時,無論JSON中的數(shù)據(jù)字段是否多于或少于實體類中字段,轉(zhuǎn)化都不會報錯
    2024-11-11
  • Springboot使用jxls實現(xiàn)同sheet多個列表展示

    Springboot使用jxls實現(xiàn)同sheet多個列表展示

    這篇文章主要介紹了Springboot使用jxls實現(xiàn)同sheet多個列表展示,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • mybatis對象List<String> List<Integer>屬性映射方式

    mybatis對象List<String> List<Integer>屬性映射方式

    這篇文章主要介紹了mybatis對象List<String> List<Integer>屬性映射方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • Spring Boot 微信小程序接入微信支付功能

    Spring Boot 微信小程序接入微信支付功能

    本文詳細介紹了使用SpringBoot框架接入微信支付的全流程,包括導(dǎo)入依賴、配置微信公眾號信息、設(shè)置配置文件、編寫支付相關(guān)實體類和API地址常量、實現(xiàn)支付服務(wù)以及Controller層的編寫,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • java異常機制分析

    java異常機制分析

    這篇文章主要介紹了java異常機制,包括異常機制的捕獲、拋出及常見的異常機制總結(jié),需要的朋友可以參考下
    2014-09-09
  • Springboot集成Protobuf的流程步驟

    Springboot集成Protobuf的流程步驟

    在以往的項目中進行網(wǎng)絡(luò)通信和數(shù)據(jù)交換的應(yīng)用場景中,最經(jīng)常使用的技術(shù)便是json或xml,但是今天在介紹一個Google的力作protobuf作為數(shù)據(jù)交換格式,文中給大家介紹了Springboot集成Protobuf的流程步驟,需要的朋友可以參考下
    2024-03-03
  • java8新特性 stream流的方式遍歷集合和數(shù)組操作

    java8新特性 stream流的方式遍歷集合和數(shù)組操作

    這篇文章主要介紹了java8新特性 stream流的方式遍歷集合和數(shù)組操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • 關(guān)于Springboot的日志配置

    關(guān)于Springboot的日志配置

    Spring Boot默認使用LogBack日志系統(tǒng),如果不需要更改為其他日志系統(tǒng)如Log4j2等,則無需多余的配置,LogBack默認將日志打印到控制臺上,需要的朋友可以參考下
    2023-05-05
  • SpringBoot項目集成Swagger和swagger-bootstrap-ui及常用注解解讀

    SpringBoot項目集成Swagger和swagger-bootstrap-ui及常用注解解讀

    這篇文章主要介紹了SpringBoot項目集成Swagger和swagger-bootstrap-ui及常用注解解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 5分鐘搭建SpringCloud Eureka服務(wù)注冊中心的實現(xiàn)

    5分鐘搭建SpringCloud Eureka服務(wù)注冊中心的實現(xiàn)

    這篇文章主要介紹了5分鐘搭建SpringCloud Eureka服務(wù)注冊中心的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評論

宜章县| 巴中市| 延安市| 石城县| 朝阳县| 马龙县| 祁连县| 梨树县| 会理县| 无锡市| 谷城县| 宣恩县| 宁都县| 兰溪市| 泊头市| 商水县| 阿拉善盟| 仙游县| 叶城县| 大悟县| 嵩明县| 辽中县| 余庆县| 锦屏县| 黔江区| 镇原县| 尉犁县| 桃江县| 遵化市| 罗田县| 重庆市| 修水县| 黄石市| 房产| 茌平县| 聂荣县| 瑞丽市| 河源市| 防城港市| 安塞县| 肇庆市|