반응형

1. Visual Studio Code 에서 Extenstion 설치하기

Python Extension 설치
파이썬 Install

2. .py 파일 생성하기

NewFile 아이콘 클릭 > 테스트 파일명 입력
Python 코드 작성해보기

 

3. 코드 실행하기

python 실행

1)실행 버튼을 눌러 코드 실행

2) Shift+Enter 실행

728x90
반응형

'Python' 카테고리의 다른 글

[Python] 파이썬3 설치하기 - for Windows  (0) 2024.06.04
반응형

 

1. 홈페이지에서 다운로드

https://www.python.org/downloads/

파이썬 홈페이지에서 다운로드
브라우저 다운로드
다운로드 폴더로 이동 > 실행

 

 

2. 다운로드 파일 실행

python-3.12.3-amd64.exe 실행 후 첫 화면 > Install Now 클릭

 

Add ptyhon.exe to PATH 옵션 선택 시 시스템 환경변수가 설정됩니다.

python-3.12.3-amd64.exe 설치 시작
python-3.12.3-amd64.exe 설치 완료

3. 설치 확인

시작프로그램 > Python 앱 실행

 

Python 설치 완료

 

728x90
반응형

'Python' 카테고리의 다른 글

[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));
	}
}

 

main 함수 실행 : 해당 class 에서 오른쪽 마우스 우클릭 - Java Application 선택 - Console에서 값 확인

 

 

 

 

4. 암호화 문자열 추가 : application.properties 또는 application.yml 파일에 암호화 관련 설정을 추가합니다.

 - 원본 값 대신에 ENC(암호화된문자열) 형식으로 속성 값을 설정합니다.

 - Jasypt는 해당 값을 암호화하고 자동으로 복호화하여 사용합니다.

# DB 비밀번호 
spring.datasource.password=ENV(jYEEDA4/mHdSKBdVos20gxj6nKzQFD/WJjREjfCo5OE=)

 

 

 

 

5. Spring Boot 실행 : JVM 속성값으로 암호화 KEY를 가져와 실행합니다.

프로젝트 우클릭 - Run As - Run Configurations - 해당 프로젝트의 VM arguments에 작성

 

728x90
반응형
반응형

 

 

 

 



畵龍點睛
화룡점정

 

 

 


'용을 그린 다음 마지막에 눈동자  점을 찍는다' 라는 뜻으로

어떤 일에 중요한 부분을 완성했을  때 사용하는 말입니다.

 

 

 

 

728x90
반응형
반응형

 

 

 

 

月下老人
월하노인

 

 


'달빛 아래노인 '이란 뜻으로

혼인을 중매하는 사람을 말합니다 .
중국의 혼인을 관장하는 신을 월노 라고 부르며 

인연이 있는 두 남녀 발에 붉은 실을 묶어 

부부의 연을 만들어 준다는 전설이 있습니다 .

 

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

 

 


小貪大失
소탐대실

 

 

 


'작은 것을 탐하다가 큰 것을 잃는다.'라는 뜻으로

작은 이익에 눈이 멀어

나라까지 잃은 촉나라 왕의 이야기에

유래 된 것입니다.

 

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

 

朝 三 暮 四
조 삼 모 사

 

 

 


'아침에 3개 저녁에 4개' 라는 뜻으로

눈앞에 보이는 차이만 알고

그 결과가 같음을 모르는

어리석은 상황을 비유적으로 말할때 사용합니다.

 

 

 

 

 

 

728x90
반응형
반응형

 

 

 

 

苦 盡 甘來
고진감래

 

 

 

 

 

 

 

 

'쓴 것이 다하면 단 것이 온다' 라는 뜻으로 
'고생 끝에 낙이 온다' 

또는

 '힘든 일이 지나면  좋은 일이 온다' 

라는 뜻으로 사용되는 말입니다 
인생의 쓴맛을 알아야 인생의 단맛 역시 알 수 있지 않을까요?

 

 

 

 

 

728x90
반응형

+ Recent posts