Spring security customize password encoder
하나.CustomizePasswordEncoder.java
package com.template.security;
import org.springframework.dao.DataAccessException;
import org.springframework.security.authentication.encoding.PasswordEncoder;
/**
* Created by IntelliJ IDEA.
* User: Zhong Gang
* Date: 11-7-29
* Time: 9:05
* To change this template use File | Settings | File Templates.
*/
public class CustomizePasswordEncoder implements PasswordEncoder {
/**
*
* @param rawPass password which need to be encoded
* @param salt
* @return the encoded password
* @throws DataAccessException
*/
@Override
public String encodePassword(String rawPass, Object salt) throws DataAccessException {
rawPass = "Zhong" + rawPass;
rawPass = rawPass + "Gang";
return rawPass;
}
/**
*
* @param encPass the password encoded
* @param rawPass the password encoded before
* @param salt
* @return true represents password is valid,false represents password is invalid
* @throws DataAccessException
*/
@Override
public boolean isPasswordValid(String encPass, String rawPass, Object salt) throws DataAccessException {
rawPass = "Zhong" + rawPass;
rawPass = rawPass + "Gang";
return encPass.equals(rawPass);
}
}
첫 번 째 방법 은 입력 한 암 호 를 특수 처리 하여 암호 가 쉽게 풀 리 지 않도록 하고 응용 안전성 을 강화 하 는 것 이 며, 두 번 째 방법 은 입력 한 암호 가 응용 에 저 장 된 암호 와 일치 하 는 지 판단 하 는 것 이다.응용 프로그램 에 저 장 된 암 호 는 입력 한 암호 가 특수 처 리 를 거 쳐 생 성 되 기 때문에 입력 한 암호 와 저 장 된 암호 의 일치 성 을 어떻게 판단 하 는 지 스스로 정의 해 야 합 니 다.두 가지 방법 에서 우 리 는 이러한 형식의 매개 변수 salt 를 발견 할 수 있다. 즉, 소금 값 은 암호 화 에 사용 된다. 구체 적 인 과정 은 암호 와 소금 값 이 지정 한 내용 을 합 친 다음 에 md5 를 사용 하여 합 친 내용 을 연산 하 는 것 이다. 이렇게 연산 한 비밀 번 호 는 공격 자가 소금 값 을 모 르 기 때문에 암호 의 원문 을 반산 하기 어렵다.소금 값 을 사용 하려 면 사용자 정의 passwordEncoder 에서 소금 값 을 이용 하여 암호 화 하 는 방법 을 정의 하 는 것 외 에 security. xml 에서 소금 값 으로 무엇 을 사용 하 는 지 설정 해 야 합 니 다.아래 와 같다.
사용자 이름 을 소금 값 으로 사용 하 는 것 을 표시 합 니 다.
둘.security.xml
설정 파일 에 password - encoder 요 소 를 추가 하여 사용자 정의 password Encoder 를 설정 합 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[MeU] Hashtag 기능 개발➡️ 기존 Tag 테이블에 존재하지 않는 해시태그라면 Tag , tagPostMapping 테이블에 모두 추가 ➡️ 기존에 존재하는 해시태그라면, tagPostMapping 테이블에만 추가 이후에 개발할 태그 기반 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.