JAVA中使用MD5加密實(shí)現(xiàn)密碼加密
1.新建Md5.java
package com.loger.md5;
import java.io.UnsupportedEncodingException;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import sun.misc.BASE64Encoder;
public class Md5 {
/**利用MD5進(jìn)行加密*/
public String EncoderByMd5(String str) throws NoSuchAlgorithmException, UnsupportedEncodingException{
//確定計(jì)算方法
MessageDigest md5=MessageDigest.getInstance("MD5");
BASE64Encoder base64en = new BASE64Encoder();
//加密后的字符串
String newstr=base64en.encode(md5.digest(str.getBytes("utf-8")));
return newstr;
}
/**判斷用戶密碼是否正確
*newpasswd 用戶輸入的密碼
*oldpasswd 正確密碼*/
public boolean checkpassword(String newpasswd,String oldpasswd) throws NoSuchAlgorithmException, UnsupportedEncodingException{
if(EncoderByMd5(newpasswd).equals(oldpasswd))
return true;
else
return false;
}
}
2.新建測試類
package com.loger.md5;
import java.io.UnsupportedEncodingException;
import java.security.NoSuchAlgorithmException;
public class MyTest {
public static void main(String[] args) throws NoSuchAlgorithmException, UnsupportedEncodingException {
Md5 md5 = new Md5();
String str = "apple";
try {
String newString = md5.EncoderByMd5(str);
System.out.println(newString);
} catch (NoSuchAlgorithmException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(md5.EncoderByMd5("apple").equals("HzhwvidPbEmz4xoMZyiVfw=="));
}
}
運(yùn)行結(jié)果:

說明:
可能會出現(xiàn)找不到 BASE64Encoder 這個(gè)類,在eclipse中按住 ctr+shift + T 即可查找到!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
SpringBoot MDC全鏈路調(diào)用日志跟蹤實(shí)現(xiàn)詳解
這篇文章主要為大家介紹了SpringBoot MDC全鏈路調(diào)用日志跟蹤實(shí)現(xiàn)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02
SpringBoot整合RabbitMQ 手動應(yīng)答(簡單demo)
這篇文章主要介紹了SpringBoot整合RabbitMQ 手動應(yīng)答 簡單demo,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
Java OpenCV實(shí)現(xiàn)圖像鏡像翻轉(zhuǎn)效果
這篇文章主要為大家詳細(xì)介紹了Java OpenCV實(shí)現(xiàn)圖像鏡像翻轉(zhuǎn)效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-07-07
使用@Builder導(dǎo)致無法創(chuàng)建無參構(gòu)造方法的解決
這篇文章主要介紹了使用@Builder導(dǎo)致無法創(chuàng)建無參構(gòu)造方法的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12
SpringBoot ResponseBody返回值處理的實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot ResponseBody返回值處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
SpringCloud實(shí)現(xiàn)全鏈路灰度發(fā)布的示例詳解
灰度發(fā)布是指在軟件或服務(wù)發(fā)布過程中,將新版本的功能或服務(wù)以較小的比例引入到生產(chǎn)環(huán)境中,僅向部分用戶或節(jié)點(diǎn)提供新功能的一種發(fā)布策略,下面我們就來學(xué)習(xí)一下SpringCloud如何實(shí)現(xiàn)全鏈路灰度發(fā)布2023-11-11
解決@Transaction注解導(dǎo)致動態(tài)切換更改數(shù)據(jù)庫失效問題
這篇文章主要介紹了解決@Transaction注解導(dǎo)致動態(tài)切換更改數(shù)據(jù)庫失效問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-09-09
SpringBoot使用knife4j進(jìn)行在線接口調(diào)試
這篇文章主要介紹了SpringBoot使用knife4j進(jìn)行在線接口調(diào)試,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09

