본문 바로가기

암호화2

[스프링 부트(SpringBoot) : 중급] 스프링 시큐리티를 활용한 보안 강화 5. 스프링 시큐리티를 활용한 보안 강화 5.1. 비밀번호 저장 전략 비밀번호 저장 전략은 사용자의 비밀번호를 안전하게 저장하기 위한 방법입니다. 애플리케이션에 저장되는 비밀번호는 해싱(hash)과 솔트(salt)를 이용하여 암호화되어 저장됩니다. 해싱: 비밀번호를 일정한 길이의 문자열로 변환하는 알고리즘입니다. 해싱을 통해 원본 비밀번호를 유추하기 어렵게 만듭니다. SHA-256, BCrypt, SCrypt 등 다양한 해싱 알고리즘이 존재합니다. 솔트: 해싱 과정에서 사용되는 무작위 문자열로, 같은 비밀번호라도 솔트 값이 다르면 다른 해시 값이 생성됩니다. 이를 통해 무차별 대입 공격(brute force attack)을 방어합니다. 예제 코드 (비밀번호 저장 전략 설정) @Configuration p.. 2023. 5. 5.
[자바(JAVA)] 자바와 암호화 41. 자바와 암호화 41.1. 암호화 개요 암호화는 데이터를 보호하기 위해 사용되는 기술로, 텍스트나 데이터를 암호화된 형태로 변환하여 원본 데이터를 보호합니다. 암호화된 데이터는 복호화 과정을 거쳐 원본 데이터로 복원할 수 있습니다. 암호화 기술은 대칭키 암호화, 비대칭키 암호화, 해시 함수 등 다양한 방식이 존재합니다. 41.2. 자바에서 제공하는 암호화 라이브러리 자바는 다양한 암호화 기술을 지원하기 위해 Java Cryptography Architecture (JCA) 및 Java Cryptography Extension (JCE)를 제공합니다. 이를 활용하여 대칭키 암호화, 비대칭키 암호화, 해시 함수 등을 사용할 수 있습니다. 41.3. 대칭키 암호화와 비대칭키 암호화 대칭키 암호화: 암호화.. 2023. 4. 30.