国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

Java實現MD5加密的方法

2019-11-26 15:04:16
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 牙克石市| 泰和县| 广灵县| 金华市| 宁强县| 五寨县| 塘沽区| 五台县| 西林县| 临安市| 静宁县| 临夏县| 潢川县| 洛浦县| 防城港市| 额济纳旗| 连平县| 达尔| 井冈山市| 同仁县| 卢龙县| 普陀区| 洛宁县| 沂水县| 集安市| 峨山| 涞水县| 广南县| 赣州市| 七台河市| 平山县| 隆安县| 祥云县| 徐州市| 松溪县| 上栗县| 宁安市| 北宁市| 沁水县| 新平| 金门县|