2018. 5. 31. 23:34
반응형

스프링 프레임워크에서 암호화 하기

스프링 시큐리티 메이븐을 우선 pom.xml에 추가한다.


<dependency>
	<groupId>org.springframework.security</groupId>
	<artifactId>spring-security-web</artifactId>
	<version>4.2.5.RELEASE</version>
</dependency>
<dependency>
	<groupId>org.springframework.security</groupId>
	<artifactId>spring-security-config</artifactId>
	<version>4.2.5.RELEASE</version>
</dependency>


다음과 같이 자바 파일을 작성하고 실행하면 password가 암호화 되는 것을 볼 수 있다.

특징이 있다면 매번 실행할 때마다 hashedPassword 값이 바뀌는 것을 볼 수 있다.

어쨌든 hashedPassword 값을 생성해서 그 값을 DB에 저장해놓고 로그인 할때에는 matches를 이용해서 처음에 등록한 암호와 일치하는지 파악할 수 있을 것 같다.

복호화는 되지 않기 때문에 비밀번호 저장 용도로 쓰는 것이 좋아보였다.

그래서 당분간 더 좋은 방법을 알아내기 전까지는 이 방법을 이용해 비밀번호를 데이터베이스에 저장하기로 했다.

String password = "password";
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String hashedPassword = passwordEncoder.encode(password);
System.out.println(hashedPassword);
System.out.println(passwordEncoder.matches("password", hashedPassword));

반응형