1. Visual Studio Code 에서 Extenstion 설치하기
2. .py 파일 생성하기
3. 코드 실행하기
1)실행 버튼을 눌러 코드 실행
2) Shift+Enter 실행
'Python' 카테고리의 다른 글
[Python] 파이썬3 설치하기 - for Windows (0) | 2024.06.04 |
---|
1. Visual Studio Code 에서 Extenstion 설치하기
2. .py 파일 생성하기
3. 코드 실행하기
1)실행 버튼을 눌러 코드 실행
2) Shift+Enter 실행
[Python] 파이썬3 설치하기 - for Windows (0) | 2024.06.04 |
---|
1. 홈페이지에서 다운로드
https://www.python.org/downloads/
2. 다운로드 파일 실행
Add ptyhon.exe to PATH 옵션 선택 시 시스템 환경변수가 설정됩니다.
3. 설치 확인
[Python] Visual Studio Code로 파이썬 개발하기 (0) | 2024.06.05 |
---|
Jasypt 소개
Jasypt(Java Simplified Encryption)는 자바 언어용으로 설계된 간단한 암호화 도구입니다.
이 도구는 주로 개발자가 데이터를 보호하고 보안을 강화하기 위해 사용됩니다.
Jasypt는 다양한 암호화 기술을 제공하며, 주로 데이터베이스 비밀번호, 사용자 인증 정보, 설정 파일 등을 보호하는 데 사용됩니다.
Jasypt 주요 특징
1. 간단한 사용법: Jasypt는 사용하기 쉽고 간단한 API를 제공하여 개발자가 쉽게 암호화 및 복호화를 수행할 수 있습니다.
2. 다양한 알고리즘 지원: Jasypt는 다양한 암호화 알고리즘을 지원합니다. 이는 강력한 보안을 위해 필요한 경우에 선택할 수 있습니다.
3. 다양한 통합 옵션: Jasypt는 다양한 플랫폼과 프레임워크에서 사용할 수 있습니다. 예를 들어, Spring Framework와의 통합이 강력하며, 설정 파일에서 암호화를 쉽게 처리할 수 있도록 지원합니다.
4. 다양한 운영 환경 지원: Jasypt는 Java EE 및 Java SE와 같은 다양한 자바 기반 환경에서 사용할 수 있습니다.
5. Jasypt의 기본 동작은 텍스트 기반의 데이터를 암호화하고 복호화하는 데에 초점을 맞추고 있습니다. 예를 들어, 데이터베이스 연결 문자열이나 프로퍼티 파일에 저장된 비밀번호를 암호화하여 보안을 강화할 수 있습니다.
예를 들어, Spring에서 Jasypt를 사용하여 설정 파일에서 암호화된 비밀번호를 관리할 수 있습니다. 이를 통해 개발자는 민감한 정보를 안전하게 보호할 수 있습니다.
Jasypt 사용 예
1. 의존성 추가 : pom.xml 파일에 Jasypt의 의존성을 추가합니다.
<dependency>
<groupId>org.jasypt</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>3.0.4</version>
</dependency>
2. Configuration 작성 : 복호화 하기 위한 설정을 합니다.
package co.kr.api.config;
import org.jasypt.encryption.StringEncryptor;
import org.jasypt.encryption.pbe.PooledPBEStringEncryptor;
import org.jasypt.encryption.pbe.config.SimplePBEConfig;
import org.jasypt.encryption.pbe.config.SimpleStringPBEConfig;
import org.jasypt.salt.RandomSaltGenerator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.PropertySource;
import org.springframework.core.env.Environment;
import org.springframework.stereotype.Component;
@Configuration
@Component
@PropertySource("classpath:application.properties")
public class JasyptConfig {
@Autowired
private Environment environment;
@Bean("jasyptStringEncryptor")
public StringEncryptor stringEncryptor() {
SimpleStringPBEConfig config = new SimpleStringPBEConfig();
config.setPassword(environment.getProperty("pwdKey")); // 암호화 키 (암호화 키의 옵션값 - JVM 옵션)
config.setAlgorithm("PBEWithMD5AndDES"); // 암호화 방식
config.setKeyObtentionIterations("1000"); // 암호화 키를 얻기위해 반복해야하는 해시 횟수
config.setPoolSize("1"); // 암호화 요청의 pool 크기 (설정하지 않을 경우 NULL)
config.setProviderName("SunJCE");
config.setSaltGeneratorClassName("org.jasypt.salt.RandomSaltGenerator");
config.setStringOutputType("base64"); // 암호화 이후 어떤 형태로 값 받을지
((SimplePBEConfig) config).setSaltGenerator(new RandomSaltGenerator());
PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor();
encryptor.setConfig(config);
return encryptor;
}
}
3. 암호화 값 생성 : 암호화 된 문자열을 생성하기 위한 Class 입니다.
package co.kr.api.util;
import org.jasypt.encryption.pbe.StandardPBEStringEncryptor;
public class JasyptConfigUtils {
public static String jasyptEncoding(String value) {
String key = "password"; // 암호화 키
StandardPBEStringEncryptor pbeEnc = new StandardPBEStringEncryptor();
pbeEnc.setAlgorithm("PBEWithMD5AndDES");
pbeEnc.setPassword(key);
return pbeEnc.encrypt(value);
}
public static void main(String[] args) {
String dbPwd = "암호화 할 대상";
System.out.println(jasyptEncoding(dbPwd));
}
}
4. 암호화 문자열 추가 : application.properties 또는 application.yml 파일에 암호화 관련 설정을 추가합니다.
- 원본 값 대신에 ENC(암호화된문자열) 형식으로 속성 값을 설정합니다.
- Jasypt는 해당 값을 암호화하고 자동으로 복호화하여 사용합니다.
# DB 비밀번호
spring.datasource.password=ENV(jYEEDA4/mHdSKBdVos20gxj6nKzQFD/WJjREjfCo5OE=)
5. Spring Boot 실행 : JVM 속성값으로 암호화 KEY를 가져와 실행합니다.
[git] 커밋 로그 파일 다운로드 (44) | 2023.08.04 |
---|---|
[JAVA] 마스킹 처리 하기 (21) | 2023.07.21 |
[MariaDB] Scheduling DB backup / mysqldump / crontab (0) | 2023.02.01 |
[Spring] Rest Template - post file type (0) | 2023.01.27 |
[Java] Jackson ObjectMapper - @JsonRootName 사용 (0) | 2023.01.03 |
'용을 그린 다음 마지막에 눈동자 점을 찍는다' 라는 뜻으로
어떤 일에 중요한 부분을 완성했을 때 사용하는 말입니다.
[매일필사] 월하노인 - 달빛 아래 노인 (0) | 2023.12.01 |
---|---|
[매일필사] 소탐대실 - 작은 것을 탐하다가 큰 것을 잃는다 (0) | 2023.11.29 |
[매일필사] 조삼모사 - 아침에 3개, 저녁에 4개 (0) | 2023.11.28 |
[매일필사] 고진감래 - 쓴 것이 다하면 단 것이 온다 (0) | 2023.11.27 |
[매일필사] 우공이산 - 우공이 산을 옮긴다 (0) | 2023.11.24 |
'달빛 아래노인 '이란 뜻으로
혼인을 중매하는 사람을 말합니다 .
중국의 혼인을 관장하는 신을 월노 라고 부르며
인연이 있는 두 남녀 발에 붉은 실을 묶어
부부의 연을 만들어 준다는 전설이 있습니다 .
[매일필사] 화룡점정 - 용을 그린 다음 마지막에 눈동자 점을 찍는다. (0) | 2023.12.05 |
---|---|
[매일필사] 소탐대실 - 작은 것을 탐하다가 큰 것을 잃는다 (0) | 2023.11.29 |
[매일필사] 조삼모사 - 아침에 3개, 저녁에 4개 (0) | 2023.11.28 |
[매일필사] 고진감래 - 쓴 것이 다하면 단 것이 온다 (0) | 2023.11.27 |
[매일필사] 우공이산 - 우공이 산을 옮긴다 (0) | 2023.11.24 |
'작은 것을 탐하다가 큰 것을 잃는다.'라는 뜻으로
작은 이익에 눈이 멀어
나라까지 잃은 촉나라 왕의 이야기에
유래 된 것입니다.
[매일필사] 화룡점정 - 용을 그린 다음 마지막에 눈동자 점을 찍는다. (0) | 2023.12.05 |
---|---|
[매일필사] 월하노인 - 달빛 아래 노인 (0) | 2023.12.01 |
[매일필사] 조삼모사 - 아침에 3개, 저녁에 4개 (0) | 2023.11.28 |
[매일필사] 고진감래 - 쓴 것이 다하면 단 것이 온다 (0) | 2023.11.27 |
[매일필사] 우공이산 - 우공이 산을 옮긴다 (0) | 2023.11.24 |
'아침에 3개 저녁에 4개' 라는 뜻으로
눈앞에 보이는 차이만 알고
그 결과가 같음을 모르는
어리석은 상황을 비유적으로 말할때 사용합니다.
[매일필사] 월하노인 - 달빛 아래 노인 (0) | 2023.12.01 |
---|---|
[매일필사] 소탐대실 - 작은 것을 탐하다가 큰 것을 잃는다 (0) | 2023.11.29 |
[매일필사] 고진감래 - 쓴 것이 다하면 단 것이 온다 (0) | 2023.11.27 |
[매일필사] 우공이산 - 우공이 산을 옮긴다 (0) | 2023.11.24 |
[매일필사] 금지옥엽 - 금으로 만든 가지와 옥으로 만든 잎 (0) | 2023.11.23 |
'쓴 것이 다하면 단 것이 온다' 라는 뜻으로
'고생 끝에 낙이 온다'
또는
'힘든 일이 지나면 좋은 일이 온다'
라는 뜻으로 사용되는 말입니다
인생의 쓴맛을 알아야 인생의 단맛 역시 알 수 있지 않을까요?
[매일필사] 소탐대실 - 작은 것을 탐하다가 큰 것을 잃는다 (0) | 2023.11.29 |
---|---|
[매일필사] 조삼모사 - 아침에 3개, 저녁에 4개 (0) | 2023.11.28 |
[매일필사] 우공이산 - 우공이 산을 옮긴다 (0) | 2023.11.24 |
[매일필사] 금지옥엽 - 금으로 만든 가지와 옥으로 만든 잎 (0) | 2023.11.23 |
[매일필사] 복은 구한다고 해서 얻을 수 있는 것이 아니니 (157) | 2023.09.21 |