본문 바로가기

JWT2

[스프링 부트(SpringBoot) : 중급] 스프링 시큐리티를 활용한 보안 강화 5. 스프링 시큐리티를 활용한 보안 강화 5.1. 비밀번호 저장 전략 비밀번호 저장 전략은 사용자의 비밀번호를 안전하게 저장하기 위한 방법입니다. 애플리케이션에 저장되는 비밀번호는 해싱(hash)과 솔트(salt)를 이용하여 암호화되어 저장됩니다. 해싱: 비밀번호를 일정한 길이의 문자열로 변환하는 알고리즘입니다. 해싱을 통해 원본 비밀번호를 유추하기 어렵게 만듭니다. SHA-256, BCrypt, SCrypt 등 다양한 해싱 알고리즘이 존재합니다. 솔트: 해싱 과정에서 사용되는 무작위 문자열로, 같은 비밀번호라도 솔트 값이 다르면 다른 해시 값이 생성됩니다. 이를 통해 무차별 대입 공격(brute force attack)을 방어합니다. 예제 코드 (비밀번호 저장 전략 설정) @Configuration p.. 2023. 5. 5.
[스프링 부트(SpringBoot) : 중급] RESTful API 개발 심화 4. RESTful API 개발 심화 4.1. API 버전 관리 API 버전 관리는 API의 변경사항을 추적하고 호환성 문제를 최소화하기 위한 중요한 전략입니다. 사용자들이 서로 다른 버전의 API를 사용할 수 있게 하여 안정성을 높입니다. 주로 URL이나 헤더를 사용하여 버전 정보를 전달합니다. 예제 코드 (URL에 버전 정보 추가) @RestController @RequestMapping("/api/v1/users") public class UserControllerV1 { // V1 버전의 사용자 관련 API 구현 } @RestController @RequestMapping("/api/v2/users") public class UserControllerV2 { // V2 버전의 사용자 관련 API .. 2023. 5. 5.