您的位置:首頁技術文章
文章詳情頁

Java如何實現密碼加密

瀏覽:3日期:2022-08-26 17:30:55

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

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密碼加密的資料請關注好吧啦網其它相關文章!

標簽: Java
相關文章:
国产综合久久一区二区三区