亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Java如何實現密碼加密

 更新時間:2020年08月19日 09:48:25   作者:Max_xu  
這篇文章主要介紹了Java如何實現密碼加密,幫助大家更好的理解和學習java,感興趣的朋友可以了解下

在查詢時,我們如果要對用戶的登錄信息進行加密,通常會將其密碼進行加密.

1) 可以借助spring框架工具類DigestUtils

2) 也可以使用shiro框架來實現

//保存用戶自身信息
//1構建一個鹽值對象
String salt=UUID.randomUUID().toString();//隨機字符串
//2對密碼進行鹽值加密(加密算法MD5-特點:不可逆,相同內容加密結果也相同)
//2.1加密方式1(借助spring框架工具類DigestUtils)
//String newPassword=DigestUtils.md5DigestAsHex((salt+entity.getPassword()).getBytes());
//2.2加密方式2(借助shiro框架中的API)
SimpleHash sh=new SimpleHash("MD5", entity.getPassword(), salt, 1);
String newPassword=sh.toHex();
System.out.println("newPassword="+newPassword);
entity.setSalt(salt);
entity.setPassword(newPassword);

以上就是兩者方式分別使用,

注意:

鹽值salt:UUID.randomUUID().toString();生成的是一個隨機字符串.

SimpleHash sh=new SimpleHash("MD5", entity.getPassword(), salt, 1);

這行shiro框架提供的加密中,

第一個參數"MD5"為加密算法,其特點:不可逆(只能加密不能解密),但是相同內容加密結果也相同;

第二個參數source,代表原密碼;

第三個參數salt,就是我們先生成的鹽值隨機數;

第四個參數1,代表加密次數,我們這里只加密了一次.

entity.setSalt(salt);
entity.setPassword(sh.toHex());

加密處理過后,我們再將新修改的密碼轉換為16進制數賦值給對象,salt的傳遞看你對象屬性的設置.

然后再根據新的對象內的數據進行操作即可.

以上就是Java如何實現密碼加密的詳細內容,更多關于Java密碼加密的資料請關注腳本之家其它相關文章!

相關文章

  • ocp開閉原則_動力節(jié)點Java學院整理

    ocp開閉原則_動力節(jié)點Java學院整理

    這篇文章主要為大家詳細介紹了ocp開閉原則的相關資料,ocp開閉原則指導我們如何建立一個穩(wěn)定的、靈活的系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JavaCV 圖像邊緣檢測之Canny 算法詳解

    JavaCV 圖像邊緣檢測之Canny 算法詳解

    在圖像處理中,邊緣檢測是基礎且關鍵的一環(huán),其中Canny邊緣檢測算法以其高精度和可靠性著稱,本文詳細介紹了使用JavaCV庫實現Canny算法的原理和步驟,結合代碼示例和案例分析,展示了Canny算法在Java環(huán)境下的實現過程和邊緣檢測效果
    2024-11-11
  • 圖文詳解Maven工程打jar包的N種方式

    圖文詳解Maven工程打jar包的N種方式

    最近在打包maven項目時,該項目中僅有一個測試類,想打成jar包運行測試,所以下面這篇文章主要給大家介紹了關于Maven工程打jar包的N種方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-09-09
  • Ajax實現省市區(qū)三級聯動

    Ajax實現省市區(qū)三級聯動

    這篇文章主要為大家詳細介紹了jQuery ajax實現省市縣三級聯動的相關資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能幫助到你
    2021-07-07
  • Java如何在PPT中繪制圖形

    Java如何在PPT中繪制圖形

    這篇文章主要介紹了Java如何在PPT中繪制圖形,Microsoft PowerPoint可支持在幻燈片中插入各種類型的圖形并且可設置圖形填充、線條顏色、圖形大小、位置等。下面將通過Java編程來演示在PPT中繪制圖形的方法,需要的朋友可以參考下
    2019-07-07
  • Java中的LinkedBlockingQueue源碼解析

    Java中的LinkedBlockingQueue源碼解析

    這篇文章主要介紹了Java中的LinkedBlockingQueue源碼解析,LinkedBlockingQueue底層是一個鏈表(可以指定容量,默認是Integer.MAX_VALUE),維持了兩把鎖,一把鎖用于入隊,一把鎖用于出隊,并且使用一個AtomicInterger類型的變量保證線程安全,需要的朋友可以參考下
    2023-12-12
  • 基于AspectJ注解方式實現AOP

    基于AspectJ注解方式實現AOP

    這篇文章主要介紹了基于AspectJ注解方式實現AOP,使用AspectJ的注解可以更方便地編寫和管理切面邏輯,而Spring AOP也是使用了AspectJ提供的注解來實現切面編程,需要的朋友可以參考下
    2023-09-09
  • Java中Executor和Executors的區(qū)別小結

    Java中Executor和Executors的區(qū)別小結

    在Java并發(fā)編程中,Executor是一個核心接口,提供了任務執(zhí)行的抽象方法,而Executors是一個工具類,提供了創(chuàng)建各種線程池的工廠方法,Executor關注任務的執(zhí)行,而Executors關注如何創(chuàng)建適合的執(zhí)行器,感興趣的可以了解一下
    2024-10-10
  • 解決spring AOP中自身方法調用無法應用代理的問題

    解決spring AOP中自身方法調用無法應用代理的問題

    這篇文章主要介紹了解決spring AOP中自身方法調用無法應用代理的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-08-08
  • SpringCloud客戶端報錯:- was unable to send heartbeat!的解決

    SpringCloud客戶端報錯:- was unable to send&nb

    這篇文章主要介紹了SpringCloud客戶端報錯:- was unable to send heartbeat!的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05

最新評論