본문 바로가기

전체 글

(122)
[Spring Boot] Security6 암호(비밀번호) 관리 방법 인코딩, 암호화, 해싱 인코딩 (Encoding)정의: 인코딩은 데이터를 한 형식에서 다른 형식으로 변환하는 과정입니다. 인코딩은 주로 데이터를 전송하거나 저장하기 위해 특정 형식으로 변환하는 데 사용됩니다. 인코딩 자체는 보안 목적이 아니며 암호학과는 관련이 없습니다.특징:비밀 필요 없음: 인코딩 과정에는 비밀 키나 비밀 정보가 필요하지 않습니다. 누구나 인코딩과 디코딩을 수행할 수 있습니다.되돌릴 수 있음: 인코딩된 데이터는 원본 데이터로 완전히 되돌릴 수 있습니다. 즉, 인코딩은 가역적입니다.목적: 인코딩은 데이터의 형식을 변환하여 전송이나 저장을 쉽게 하거나, 특정 시스템이 데이터를 처리할 수 있도록 합니다.사용 예시:ASCII: 문자 데이터를 컴퓨터가 이해할 수 있는 숫자 형식으로 변환합니다.BASE64: 바이너리 데..
[Spring Boot] Security6 로그인 및 회원가입 ( + 동작 과정 ) 회원가입DTO@Entity@Getter@Setterpublic class Customer { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String email; private String pwd; private String role;} Controller@RestController@RequiredArgsConstructorpublic class LoginController { private final CustomRepository customRepository; private final PasswordEncoder passwordEncoder; @PostM..
[Spring Boot] Security6 UserDetailsManager 구현체 InMemoryUserDetailsManagerInMemoryUserDetailsManager는 사용자 정보를 메모리에 저장하고 관리하는 구현체입니다. 이 구현체는 주로 개발 및 테스트 목적으로 사용되며, 애플리케이션이 종료되면 모든 사용자 정보가 사라집니다.주요 특징:저장소: 메모리사용 사례: 간단한 테스트나 데모 애플리케이션장점: 설정이 간단하고 빠르게 사용할 수 있습니다.단점: 애플리케이션이 종료되면 데이터가 사라지며, 많은 사용자 정보를 관리하기에는 부적합합니다. import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springfram..