본문 바로가기
스프링

스프링 단방향 암호화 처리

by 그리득 2023. 12. 8.
728x90

1.메이븐 레파지토리 접속

https://mvnrepository.com/search?q=spring-security

 

pom.xml Security Core,Web,Config 설정

	<!-- 암호화를 위한 모듈-->
	<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core -->
	<dependency>
	    <groupId>org.springframework.security</groupId>
	    <artifactId>spring-security-core</artifactId>
	    <version>${org.springsecurity-version}</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
	<dependency>
	    <groupId>org.springframework.security</groupId>
	    <artifactId>spring-security-web</artifactId>
	    <version>${org.springsecurity-version}</version>
	</dependency>
	<!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-config -->
	<dependency>
	    <groupId>org.springframework.security</groupId>
	    <artifactId>spring-security-config</artifactId>
	    <version>${org.springsecurity-version}</version>
	</dependency>

 

 

버전을 맞추기 위해 pom.xml에 properties 설정

<properties>
		<org.springsecurity-version>5.8.4</org.springsecurity-version>
</properties>

 

security-context.xml 생성

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:security="http://www.springframework.org/schema/security"
   xmlns:context="http://www.springframework.org/schema/context"
   xsi:schemaLocation="http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-5.8.xsd
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd">
      <!-- 패스워드암호화를 제공하는 클래스를 빈으로 등록하기 -->
      <bean id="bcryptPassword" class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder"/>
</beans>

 

web.xml에 /WEB-INF/spring/security-context.xml 설정

	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			<!-- root-context.xml에 스프링 빈 등록 -->
			/WEB-INF/spring/root-context.xml
			/WEB-INF/spring/security-context.xml
		</param-value>
	</context-param>

 

컨트롤러에 의존성 주입해서 사용

private final BCryptPasswordEncoder passwordEncoder;

(필드에 의존성 주입)

 

	@PostMapping("/enrollmemberend.do")
	public String enrollmemberend(Member m,Model model) {
		
		//BCryptPasswordEncoder클래스가 제공하는 메소드를 이용해서 단방향 암호화하기
		//encode()메소드를 이용
		String oriPw=m.getPassword();
		String encPw=passwordEncoder.encode(oriPw);
		m.setPassword(encPw);

 

암호화할 클래스에 passwordEncoder.encode 메소드를 이용해서 암호화 처리

 

끝!

'스프링' 카테고리의 다른 글

ajax 응답/처리  (0) 2023.12.14
인터셉터 이용하기  (0) 2023.12.11
스프링 MyBatis 구현하기  (0) 2023.12.11
Hibernate-validator 구현  (0) 2023.12.11
스프링 초기설정  (0) 2023.12.06