欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringSecurit鹽值加密的密碼驗(yàn)證以及強(qiáng)密碼驗(yàn)證過程

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

SpringSecurit鹽值加密的密碼驗(yàn)證及強(qiáng)密碼驗(yàn)證

1、有的時(shí)候我們鹽值加密的時(shí)候沒有存入鹽值

值存入了密碼,然后怎么樣驗(yàn)證這個(gè)密碼呢

以下代碼展示:

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

2、強(qiáng)密碼驗(yàn)證

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

     
package security;
 
/**
 * 密碼校驗(yàn):包含數(shù)字、字母和特殊字符,長度要求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}$";
 
	/**
	 * 密碼校驗(yàn),符合強(qiáng)密碼規(guī)則返回true,否則返回false
	 * @param password
	 * @return
	 */
	public static boolean check(String password) {
		boolean flag = password.matches(REGEX_PASSWORD_STRONG);
		return flag;
	}
}

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論