본문 바로가기

카테고리 없음

[Spring] 문자열을 암호화 하기 위한 셋팅 및 사용방법-spring security

셋팅하는 방법

1. mvnrepository.com에 접속해서 spring security 검색 후 Spring Security core를 클릭

 

 

2. 4.0.0.0버전 클릭 

 

 

3. Maven 클릭 후 나오는 코드 복사해서 pom.xml의 dependencies사이에 붙여넣는다.

 


사용법

 

입력한 문자열을 암호화 하는 방법

new BCyptPasswordEncoder().encode(문자열);

public class MainClass01 {
	public static void main(String[] args) {
		Scanner scan=new Scanner(System.in);
		System.out.print("문자열 입력:");
		String str=scan.nextLine();
		//문자열을 암호화해주는 객체 생성
		BCryptPasswordEncoder encoder=new BCryptPasswordEncoder();
		//입력한 문자열을 암호화 한다.
		String result=encoder.encode(str);
		System.out.println("입력한 문자:" + str);
		System.out.println("암호화된 문자:"+result);
	}
}

 

 

저장되어있는 암호화된 문자열을 입력받은 문자열과 비교하는 방법   

Bcypt.checkpw(새로 입력받은 문자열,저장되어있는 암호화된 문자열)

public class MainClass02 {
	public static void main(String[] args) {
		//예전에 입력한 비밀번호라고 가정하자
		String lastPwd="1234";
		//입력한 비밀번호를 암호화해서 저장된 비밀번호라고 가정하자
		String encodedPwd=new BCryptPasswordEncoder().encode(lastPwd);
		
		Scanner scan=new Scanner(System.in);
		System.out.print("비밀번호 입력:");
		String pwd=scan.nextLine();
		
		
		//비밀번호 일치여부를 BCrypt 클래스의 static메소드를 이용해서 얻어낸다.
		boolean isValid=BCrypt.checkpw(pwd, encodedPwd);
		
		if(isValid) {
			System.out.println("비밀번호가 일치해요!");
		}else {
			System.out.println("비밀번호가 틀려요!");
		}
	}
}