티스토리 뷰





반응형

이번에는 스프링에서 사용되는 비밀번호 암호화를 해볼 차례다. 서블릿에서 사용한 SHA512가 있었는데 스프링에서는 Bcript이라는 아주 암호화에 최적화 되어있는게 있다. 같은 번호여도 암호화하는 매초마다 그 값이 다르게 매핑이 되기 때문에 해커가 비밀번호를 뚫기에 더욱 어렵다.


1.Maven에서 라이브러리 추가하기 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        <!-- 스프링 시큐리티적용 구간 -->
        <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-core -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>5.0.6.RELEASE</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.springframework.security/spring-security-web -->
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>5.0.6.RELEASE</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.springframework-version}</version>
        </dependency>
cs

MavenRepository에서 Spring security를 검색해 core, web, config이 3개를 버전에 맞게 추가해준다. 필자는 5.0.6버전을 사용하기에 그에 맞춰서 버전을 선택했다. 


2.security-config.xml 파일 생성하기

security와 위에 짤렸지만 beans도 함께 클릭 후 Finish


이렇게 생성된 가운데에 아래의 bean객체를 추가하여 자동으로 찾을 수 있게 해준다.

<bean class="org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder" id="bcryiptPasswordEncoder"/>


3.web.xml에 등록하기

위와 같이 새로 등록한 시큐리티 컨피그 파일을 web.xml에 올려주면 설정 끝!


4.직접 사용해보기

Autowired로 Bcrypt객체를 호출해서 아래처럼 사용하면 콘솔 창 처럼 1234가 암호화가 된다. 주의할점은 이 bcrypt는 같은 번호여도 매초마다 암호화가 다르게 적용되기 때문에 파란색 네모의 문법으로 조건이 맞나 확인해야한다.







반응형
댓글
반응형
최근에 달린 댓글
글 보관함
Total
Today
Yesterday
최근에 올라온 글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31