최류현의 컴퓨터 정보공간

프로그래밍/Python

파이썬 input()과 sys.stdin.readline() 뭘 사용할까?

파이썬에서 사용되는 두 가지 입력 함수, input()과 sys.stdin.readline()을 비교해 보며, 각각의 특징과 어떤 상황에서 더 적합한지 예시 코드와 함께 알아보겠습니다. input() 함수 # 문자열 입력 받기 name = input('이름을 입력하세요: ') print(f'안녕하세요, {name}님!') # 정수형 입력 받기 age = int(input('나이를 입력하세요: ')) print(f'{name}님의 나이는 {age}세 입니다.') 특징 간편하게 사용자로부터 문자열 입력을 받을 수 있음 대화형 인터페이스에 적합 input() 함수는 사용자로부터 입력을 쉽게 받을 수 있기 때문에 대화형 인터페이스에 적합합니다. 간단한 프로그램에서 사용자로부터 소량의 입력값을 받을 때, 사용자와..

프로그래밍/Python

파이썬(Python) cryptography를 이용한 대칭키 암호화

cryptography 모듈 cryptography 모듈은 파이썬에서 암호화 관련 기능을 제공하는 모듈입니다. 대칭키 암호화와 비대칭키 암호화 방식을 모두 지원하며, Fernet을 이용한 암호화 방법도 제공합니다. Fernet은 PyCryptodome과 같은 다른 암호화 모듈보다 사용하기 쉽고 직관적입니다. 이를 사용하면 암호화와 해독에 필요한 모든 작업을 수행할 수 있습니다. Fernet을 사용하면 안전하고 신뢰성 높은 암호화 키를 생성하고 이를 사용하여 데이터를 안전하게 보호할 수 있습니다. Fernet은 AES알고리즘의 CBC모드만을 지원하고 있으며 파이썬에서 쉽게 사용할 수 있는 강력한 암호화 모듈 중 하나입니다. 암호화 알고리즘 대칭키 암호화는 하나의 키로 암호화와 복호화를 수행하는 방식입니다...

프로그래밍/Python

파이썬 SHA256 암호화

SHA256 알고리즘의 쓰임 파이썬의 hashlib 모듈을 사용하면 다양한 알고리즘을 사용할 수 있는데 가장 많이 사용되고 있는 해시 알고리즘인 SHA256(Secure Hash Algorithm) 암호화를 진행해 보겠습니다 그전에 SHA256에 대해 설명하자면 웹이나 프로그램등의 사용자 암호를 안전하게 저장하고자 할 때 유용한 방법이며 입력된 문자열에 대한 동일하게 해시값을 출력하기 때문에 입력된 값이 올바른 데이터인지 여부를 확인할 수 있습니다 파이썬 SHA256 문자열 암호화 먼저 hashlib라이브러리를 불러와준 뒤에 str변수에 암호화하고자 하는 문자열을 넣어줍니다 값이 저장될 result변수에 hashlib라이브러리의 sha256 함수를 사용합니다 이때 sha256() 괄호 안에는 bytes형..

프로그래밍/Python

파이썬 활용하여 전원종료없이 모니터화면만 완전히 끄기

컴퓨터는 가동되는 상태에서 전력소모나 밝기로 인해 모니터화면만 꺼두고 싶을 때가 있습니다 그럴 때 기본적으로 빈화면이나 비눗방울이 움직이는 잠금화면으로 끌 수 있는 방법이 있지만 완전히 모니터의 화면을 끌 수 있는 방법이 있습니다 가장 좋은 방법은 모니터에 내에 따로 모니터화면을 on/off 할 수 있는 버튼이 있으면 좋지만 그렇지 않은 모니터도 있을뿐더러 버튼을 눌러서 키고 다시 또 눌러야 되는 번거로움도 있기 마련입니다 바쁘신분들을 위해 결론부터 말하자면 실행파일로 생성한 파일을 다운받은뒤 실행만해주시면 완벽히 모니터화면을 끄실수있습니다 인터넷에 소개되고 있는 방법, 하지만 완벽하지 않다 인터넷에 모니터화면을 끄는 방법에 관해 검색해 보면 많은 내용들이 바로가기를 통해 모니터화면을 끄는 방법을 설명하..

프로그래밍/Python

파이썬(Python) OTP 2단계 인증(2FA)

파이썬에서 사용자를 위한 2단계 인증을 쉽게 진행할 수 있도록 도와주는 라이브러리가 있어서 소개해드리려고 합니다 Pyotp라는 라이브러리를 사용하면 단 코드 몇 줄로 쉽게 2단계 인증을 진행할 수 있습니다 실제로 2단계 인증은 많은 프로그램에서 사용되고 있습니다 스팀이나 배틀넷등 게임 런처에도 많이 사용되고 있으며 실제로 스팀 2단계 인증이 활성화되어있는 경우 계정을 로그인하고 발급되는 일회용 키를 지정된 시간 안에 프로그램에 입력하여 일치할 경우 로그인이 됩니다 이는 사람이 아닌 매크로를 사용하거나 부정사용자가 계정을 접속하거나 개인정보 유출방지를 위하여 만든 인증수단입니다 2단계 인증 라이브러리 설치 pyotp 문서 사이트에 접속해보면 자세한 내용이 나와있으며 설치 명령어도 pip install py..

프로그래밍/Python

파이썬 DES 암호화 알고리즘

DES(Data Encryption Standard) 암호화 DES알고리즘은 대칭형 암호이다 이는 암호화와 복호화 시 해독키가 동일함을 의미하며 외부로 노출될 경우 데이터가 유출될 수 있는 우려가 있다 때문에 외부에 유출되지 않도록 비밀키(Secret Key)를 잘 보관해야 합니다 1970년대에 IBM에 의해 개발되었으며 꽤 오랜 역사가있다 현재는 하드웨어의 발전으로 인해 키 길이가 짧기 때문에 무차별 대입공격이 가능합니다 현대에는 보안상 AES알고리즘을 권장하며 DES는 교육목적으로 사용합니다 필요 준비물 기본적으로 파이썬이 설치되어있어야 합니다 추가적으로 DES암호화를 위해서 PyCryptodome 패키지를 사용합니다 pycypto모듈을 보완하여 기존문법도 사용가능한 PyCryptodome Pytho..

프로그래밍/Python

파이썬 최신버전 환경변수 설정하기(CMD,VSCODE 파이썬 설정)

파이썬은 지속적으로 업그레이드되고 있기 때문에 최신 버전에서는 사용 가능하지만 이전 버전에서는 사용하지 못하는 명령어들이 많이 있습니다 파이썬 최신 버전에서는 새로운 기능들을 제공하기 때문에 최신 버전의 파이썬을 사용해주는 게 좋은데요 오늘은 파이썬을 새로 업그레이드하는 방법에 대해서 알아보겠습니다 현재 파이썬 버전 체크 cmd창에서 python --version 명령으로 현재 파이썬 버전을 확인할수 있습니다 현재 설치된 버전은 파이썬 3.9.4버전이네요 파이썬 최신 버전 설치하기 파이썬 최신 버전은 이곳에서 다운로드하실 수 있습니다 공식 홈페이지에보면 최신 버전인 3.11.1 버전임을 확인할 수 있습니다 해당 파일을 내려받아 설치해주세요 저의 경우 나중에 환경변수를 설정할 때 경로가 짧아야 한눈에 들어..

프로그래밍/Python

파이썬 숫자 출력시 1000단위 구분기호 넣어주기

num이라는 변수에 일련의 숫자가 있다고 가정합니다 각 숫자의 천단위 구분기호로 출력하려면 문자열 포맷팅 fstring format을 사용하여 출력시 천단위 구분기호를 넣을수있습니다 *fstring 포맷팅의 경우 파이썬 3.6 이후 버전에서만 사용가능* format을 사용한 방법

프로그래밍/Python

파이썬 if __name__ == "__main__" 사용법

파이썬에서 if __name__ == "__main__" 는 뭘까? 파이썬 코드를 살펴보면 if __name__ == "__main__"라는 코드가 나와있는데 이 코드는 무얼 의미할까요? 위 코드는 함수의 시작을 의미합니다 파이썬 프로그램 실행시에 if name 코드밑에 함수를 선언하거나 코드가 있을경우 가장 먼저 작업을 수행합니다 1 2 3 4 5 def main(a,b): print(a+b) if __name__ == "__main__": main(4,5) cs 이런식으로 if __name__함수 밑에 main함수를 호출하는 코드를 넣었을경우 프로그램이 실행될때 가장 먼저 실행되며 main함수에 인자값 4,5를 전달하여 작업을 수행합니다 $ 9 위 코드를 실행시켰을경우에는 결과로 9가 나오는걸 확인할..

프로그래밍/Python

파이썬 알림 창 구현하기

파이썬에 신기한 라이브러리가 있어서 오늘은 파이썬 프로그램을 실행할때 윈도우 앱 알림기능으로 알림창이 열리도록 만들어보겠습니다 패키지 설치 pip install py-notifier 명령을 사용하여 필요한 패키지를 먼저 설치해주세요 1 from pynotifier import Notification cs 설치판 패키지를 불러와줍니다 1 2 3 4 5 6 Notification( title="Python App", description="test program", icon_path="path", duration=10 ).send() cs Notification함수를 사용하여 매개변수에 각각 제목,설명,아이콘,팝업 유지시간을 의미합니다 path라고 표기해놓은부분은 아이콘파일을 넣어주면되는데 따로 지정하지않을..

최류현의 블로그
'프로그래밍/Python' 카테고리의 글 목록 (2 Page)