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

Java如何實(shí)現(xiàn)密碼加密

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

在查詢時(shí),我們?nèi)绻獙?duì)用戶的登錄信息進(jìn)行加密,通常會(huì)將其密碼進(jìn)行加密.

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

2) 也可以使用shiro框架來(lái)實(shí)現(xiàn)

//保存用戶自身信息
//1構(gòu)建一個(gè)鹽值對(duì)象
String salt=UUID.randomUUID().toString();//隨機(jī)字符串
//2對(duì)密碼進(jìn)行鹽值加密(加密算法MD5-特點(diǎn):不可逆,相同內(nèi)容加密結(jié)果也相同)
//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();生成的是一個(gè)隨機(jī)字符串.

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

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

第一個(gè)參數(shù)"MD5"為加密算法,其特點(diǎn):不可逆(只能加密不能解密),但是相同內(nèi)容加密結(jié)果也相同;

第二個(gè)參數(shù)source,代表原密碼;

第三個(gè)參數(shù)salt,就是我們先生成的鹽值隨機(jī)數(shù);

第四個(gè)參數(shù)1,代表加密次數(shù),我們這里只加密了一次.

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

加密處理過(guò)后,我們?cè)賹⑿滦薷牡拿艽a轉(zhuǎn)換為16進(jìn)制數(shù)賦值給對(duì)象,salt的傳遞看你對(duì)象屬性的設(shè)置.

然后再根據(jù)新的對(duì)象內(nèi)的數(shù)據(jù)進(jìn)行操作即可.

以上就是Java如何實(shí)現(xiàn)密碼加密的詳細(xì)內(nèi)容,更多關(guān)于Java密碼加密的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • SpringBoot詳細(xì)講解斷言機(jī)制原理

    SpringBoot詳細(xì)講解斷言機(jī)制原理

    斷言Assertion是測(cè)試方法中的核心部分,用來(lái)對(duì)測(cè)試需要滿足的條件進(jìn)行驗(yàn)證。這些斷言方法都是org.junit.jupiter.api.Assertions的靜態(tài)方法。檢查業(yè)務(wù)邏輯返回的數(shù)據(jù)是否合理。所有的測(cè)試運(yùn)行結(jié)束以后,會(huì)有一個(gè)詳細(xì)的測(cè)試報(bào)告
    2022-06-06
  • Java中數(shù)組在內(nèi)存中存放原理的講解

    Java中數(shù)組在內(nèi)存中存放原理的講解

    今天小編就為大家分享一篇關(guān)于Java中數(shù)組在內(nèi)存中存放原理的講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-04-04
  • java 實(shí)現(xiàn)單鏈表逆轉(zhuǎn)詳解及實(shí)例代碼

    java 實(shí)現(xiàn)單鏈表逆轉(zhuǎn)詳解及實(shí)例代碼

    這篇文章主要介紹了java 實(shí)現(xiàn)單鏈表逆轉(zhuǎn)實(shí)例代碼的相關(guān)資料,需要的朋友可以參考下
    2017-02-02
  • Java中間消息件ActiveMQ使用實(shí)例

    Java中間消息件ActiveMQ使用實(shí)例

    這篇文章主要介紹了Java中間消息件ActiveMQ使用實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Mybatis分頁(yè)查詢主從表的實(shí)現(xiàn)示例

    Mybatis分頁(yè)查詢主從表的實(shí)現(xiàn)示例

    本文主要介紹了Mybatis分頁(yè)查詢主從表的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2024-09-09
  • 面試突擊之跨域問(wèn)題的解決方案詳解

    面試突擊之跨域問(wèn)題的解決方案詳解

    跨域問(wèn)題本質(zhì)是瀏覽器的一種保護(hù)機(jī)制,它的初衷是為了保證用戶的安全,防止惡意網(wǎng)站竊取數(shù)據(jù)。那怎么解決這個(gè)問(wèn)題呢?接下來(lái)我們一起來(lái)看
    2022-09-09
  • springboot如何通過(guò)@PropertySource加載自定義yml文件

    springboot如何通過(guò)@PropertySource加載自定義yml文件

    這篇文章主要介紹了springboot如何通過(guò)@PropertySource加載自定義yml文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 使用SpringCache進(jìn)行緩存數(shù)據(jù)庫(kù)查詢方式

    使用SpringCache進(jìn)行緩存數(shù)據(jù)庫(kù)查詢方式

    這篇文章主要介紹了使用SpringCache進(jìn)行緩存數(shù)據(jù)庫(kù)查詢方式,具有很好的參考價(jià)值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Spring事務(wù)失效之常見(jiàn)場(chǎng)景分析

    Spring事務(wù)失效之常見(jiàn)場(chǎng)景分析

    這篇文章主要介紹了Spring事務(wù)失效之常見(jiàn)場(chǎng)景,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java面向?qū)ο笤O(shè)計(jì)原則之迪米特法則介紹

    Java面向?qū)ο笤O(shè)計(jì)原則之迪米特法則介紹

    迪米特法則解決類與類之間耦合度問(wèn)題,如果類A調(diào)用了B類的某一個(gè)方法,則這兩個(gè)類就形成了一種緊耦合的方式,當(dāng)B類這個(gè)方法發(fā)生變化時(shí),一定會(huì)影響A類的執(zhí)行結(jié)果。迪米特法則要求每一個(gè)類盡可能少的與其他類發(fā)生關(guān)系
    2023-02-02

最新評(píng)論

包头市| 清流县| 吉水县| 丘北县| 宣化县| 上犹县| 乌兰察布市| 海伦市| 西安市| 六盘水市| 平山县| 新绛县| 梧州市| 兴国县| 涡阳县| 额敏县| 勐海县| 洞口县| 富宁县| 延津县| 昂仁县| 伊金霍洛旗| 乌鲁木齐市| 永吉县| 阿拉尔市| 临夏县| 侯马市| 延长县| 保定市| 赤城县| 麟游县| 瑞金市| 宜黄县| 嘉善县| 岳西县| 伊春市| 诸暨市| 陕西省| 长岛县| 长葛市| 明水县|