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

首頁 > 編程 > Java > 正文

java中如何使用MD5進(jìn)行加密

2019-11-26 13:37:49
字體:
供稿:網(wǎng)友

在各種應(yīng)用系統(tǒng)的開發(fā)中,經(jīng)常需要存儲用戶信息,很多地方都要存儲用戶密碼,而將用戶密碼直接存儲在服務(wù)器上顯然是不安全的,本文簡要介紹工作中常用的 MD5加密算法,希望能拋磚引玉。

(一)消息摘要簡介

一個消息摘要就是一個數(shù)據(jù)塊的數(shù)字指紋。即對一個任意長度的一個數(shù)據(jù)塊進(jìn)行計算,產(chǎn)生一個唯一指印(對于SHA1是產(chǎn)生一個20字節(jié)的二進(jìn)制數(shù)組)。消息摘要是一種與消息認(rèn)證碼結(jié)合使用以確保消息完整性的技術(shù)。主要使用單向散列函數(shù)算法,可用于檢驗消息的完整性,和通過散列密碼直接以文本形式保存等,目前廣泛使用的算法有MD4、MD5、SHA-1。

消息摘要有兩個基本屬性:

兩個不同的報文難以生成相同的摘要

難以對指定的摘要生成一個報文,而可以由該報文反推算出該指定的摘要

代表:美國國家標(biāo)準(zhǔn)技術(shù)研究所的SHA1和麻省理工學(xué)院Ronald Rivest提出的MD5

(二)對字符串進(jìn)行加密
 

/**利用MD5進(jìn)行加密   * @param str 待加密的字符串   * @return 加密后的字符串   * @throws NoSuchAlgorithmException 沒有這種產(chǎn)生消息摘要的算法   * @throws UnsupportedEncodingException    */  public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{    //確定計算方法    MessageDigest md5=MessageDigest.getInstance("MD5");    BASE64Encoder base64en = new BASE64Encoder();    //加密后的字符串    String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));    return newstr;  }

調(diào)用函數(shù):

String str="0123456789"
System.out.println(EncoderByMd5(str));

輸出:eB5eJF1ptWaXm4bijSPyxw==

(三)驗證密碼是否正確

因為MD5是基于消息摘要原理的,消息摘要的基本特征就是很難根據(jù)摘要推算出消息報文,因此要驗證密碼是否正確,就必須對輸入密碼(消息報文)重新計算其摘要,和數(shù)據(jù)庫中存儲的摘要進(jìn)行對比(即數(shù)據(jù)庫中存儲的其實為用戶密碼的摘要),若兩個摘要相同,則說明密碼正確,不同,則說明密碼錯誤。

/**判斷用戶密碼是否正確   * @param newpasswd 用戶輸入的密碼   * @param oldpasswd 數(shù)據(jù)庫中存儲的密碼--用戶密碼的摘要   * @return   * @throws NoSuchAlgorithmException   * @throws UnsupportedEncodingException   */  public boolean checkpassword(String newpasswd,String oldpasswd) throws NoSuchAlgorithmException, UnsupportedEncodingException{    if(EncoderByMd5(newpasswd).equals(oldpasswd))      return true;    else      return false;  }

PS:關(guān)于加密技術(shù),本站還提供了如下加密工具供大家參考使用:

MD5在線加密工具:http://tools.VeVB.COm/password/CreateMD5Password

Escape加密/解密工具:http://tools.VeVB.COm/password/escapepwd

在線SHA1加密工具:http://tools.VeVB.COm/password/sha1encode

短鏈(短網(wǎng)址)在線生成工具:http://tools.VeVB.COm/password/dwzcreate

短鏈(短網(wǎng)址)在線還原工具:http://tools.VeVB.COm/password/unshorturl

高強(qiáng)度密碼生成器:http://tools.VeVB.COm/password/CreateStrongPassword

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 图木舒克市| 女性| 双桥区| 辉县市| 四会市| 大悟县| 马山县| 镇雄县| 仙居县| 伊川县| 岗巴县| 四会市| 明溪县| 繁昌县| 江津市| 桓台县| 察哈| 资中县| 界首市| 尚义县| 宿州市| 东阿县| 白银市| 洪江市| 吐鲁番市| 新野县| 黄陵县| 岳普湖县| 古浪县| 陵水| 龙胜| 泸州市| 佳木斯市| 哈巴河县| 彭山县| 陵川县| 南丰县| 普宁市| 平昌县| 德庆县| 武汉市|