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

SpringSecurit鹽值加密的密碼驗證以及強密碼驗證過程

 更新時間:2024年10月10日 10:37:58   作者:思祺班  
在密碼加密過程中,鹽值的使用可以增強密碼的安全性,如果忘記存儲鹽值,將無法驗證密碼,強密碼應包含數字、字母和特殊字符,長度應在8到30位之間,以提高賬戶安全

SpringSecurit鹽值加密的密碼驗證及強密碼驗證

1、有的時候我們鹽值加密的時候沒有存入鹽值

值存入了密碼,然后怎么樣驗證這個密碼呢

以下代碼展示:

   PasswordEncoder pe = new BCryptPasswordEncoder();
        //比較密碼
        //pe.matches (“前端存過來的密碼記得是沒有加密的”,“在數據中存儲的加密的密碼”) ;
        boolean matches = pe.matches (changePwdDTO.getOldPassword(),iamAccount.getAuthSecret()) ;
        if (!matches){
            throw new BusinessException(Status.FAIL_OPERATION, "舊密碼錯誤,請重新輸入");
        }
        //判斷密碼是否包含相關的字符,數字,字母
         if(!check(changePwdDTO.getConfirmPassword())){
            throw new BusinessException(Status.FAIL_OPERATION, "密碼必須至少為8位字符,其中包含數字、字母及特殊字符");
        }
   

2、強密碼驗證

包含數字、字母和特殊字符,長度要求8到30位

     
package security;
 
/**
 * 密碼校驗:包含數字、字母和特殊字符,長度要求8到30位。
 * @author lxzqz
 *
 */
public class CheckPassword {
	public static final String REGEX_PASSWORD_STRONG = "^(?![0-9]+$)(?![^0-9]+$)(?![a-zA-Z]+$)(?![^a-zA-Z]+$)(?![a-zA-Z0-9]+$)[a-zA-Z0-9\\S]{8,30}$";
 
	/**
	 * 密碼校驗,符合強密碼規(guī)則返回true,否則返回false
	 * @param password
	 * @return
	 */
	public static boolean check(String password) {
		boolean flag = password.matches(REGEX_PASSWORD_STRONG);
		return flag;
	}
}

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • Java 數據庫連接池 Tomcat介紹

    Java 數據庫連接池 Tomcat介紹

    這篇文章主要給大家分享了 Java 數據庫連接池 Tomcat介紹,omcat 是一個小型的輕量級應用服務器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調試JSP 程序的首選。下面來看看文章內容的詳細介紹吧
    2021-11-11
  • 簡單談談Java 中的線程的幾種狀態(tài)

    簡單談談Java 中的線程的幾種狀態(tài)

    這篇文章主要介紹了簡單談談Java 中的線程的幾種狀態(tài)的相關資料,需要的朋友可以參考下
    2020-02-02
  • SpringBoot+MyBatis+Redis實現(xiàn)分布式緩存

    SpringBoot+MyBatis+Redis實現(xiàn)分布式緩存

    本文主要介紹了SpringBoot+MyBatis+Redis實現(xiàn)分布式緩存,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • .NET Core使用SignalR實現(xiàn)實時通訊的示例代碼

    .NET Core使用SignalR實現(xiàn)實時通訊的示例代碼

    SignalR是一個ASP.NETCore庫,用于在客戶端和服務器之間實現(xiàn)實時通訊,本文主要介紹了.NETCore中使用SignalR實現(xiàn)實時通訊,感興趣的可以了解一下
    2024-11-11
  • 解決Java Calendar類set()方法的陷阱

    解決Java Calendar類set()方法的陷阱

    這篇文章主要介紹了解決Java Calendar類set()方法的陷阱,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 利用Mybatis向PostgreSQL中插入并查詢JSON字段

    利用Mybatis向PostgreSQL中插入并查詢JSON字段

    這篇文章主要介紹了利用Mybatis向PostgreSQL中插入并查詢JSON字段,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Java使用Ajax異步上傳文件

    Java使用Ajax異步上傳文件

    使用Ajax上傳文件的應用場景頗多,比如上傳用戶頭像、博客文章中插入圖片、對認證用戶相關身份進行校驗等等很多很多。本文提供一個簡單的示例供大家參考
    2021-05-05
  • 使用Pinyin4j進行拼音分詞的方法

    使用Pinyin4j進行拼音分詞的方法

    下面小編就為大家分享一篇使用Pinyin4j進行拼音分詞的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-01-01
  • redis分布式鎖的實現(xiàn)原理詳解

    redis分布式鎖的實現(xiàn)原理詳解

    這篇文章主要為大家詳細介紹了redis分布式鎖,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • 詳解java接口基礎知識附思維導圖

    詳解java接口基礎知識附思維導圖

    這篇文章主要介紹了java接口基礎知識,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04

最新評論

三穗县| 瓮安县| 桐庐县| 太湖县| 石泉县| 错那县| 莎车县| 时尚| 红原县| 金平| 通渭县| 丽江市| 张家港市| 洪江市| 平江县| 大田县| 电白县| 长葛市| 平顺县| 雷山县| 靖宇县| 仁寿县| 平乡县| 中宁县| 达拉特旗| 吉隆县| 吴堡县| 开平市| 永安市| 镇原县| 博白县| 固原市| 大同县| 冕宁县| 航空| 松原市| 安图县| 井研县| 三都| 南昌市| 巫溪县|