파이썬에서 사용자를 위한 2단계 인증을 쉽게 진행할 수 있도록 도와주는 라이브러리가 있어서 소개해드리려고 합니다 Pyotp라는 라이브러리를 사용하면 단 코드 몇 줄로 쉽게 2단계 인증을 진행할 수 있습니다 실제로 2단계 인증은 많은 프로그램에서 사용되고 있습니다 스팀이나 배틀넷등 게임 런처에도 많이 사용되고 있으며 실제로 스팀 2단계 인증이 활성화되어있는 경우 계정을 로그인하고 발급되는 일회용 키를 지정된 시간 안에 프로그램에 입력하여 일치할 경우 로그인이 됩니다 이는 사람이 아닌 매크로를 사용하거나 부정사용자가 계정을 접속하거나 개인정보 유출방지를 위하여 만든 인증수단입니다 2단계 인증 라이브러리 설치 pyotp 문서 사이트에 접속해보면 자세한 내용이 나와있으며 설치 명령어도 pip install py..
DES(Data Encryption Standard) 암호화 DES알고리즘은 대칭형 암호이다 이는 암호화와 복호화 시 해독키가 동일함을 의미하며 외부로 노출될 경우 데이터가 유출될 수 있는 우려가 있다 때문에 외부에 유출되지 않도록 비밀키(Secret Key)를 잘 보관해야 합니다 1970년대에 IBM에 의해 개발되었으며 꽤 오랜 역사가있다 현재는 하드웨어의 발전으로 인해 키 길이가 짧기 때문에 무차별 대입공격이 가능합니다 현대에는 보안상 AES알고리즘을 권장하며 DES는 교육목적으로 사용합니다 필요 준비물 기본적으로 파이썬이 설치되어있어야 합니다 추가적으로 DES암호화를 위해서 PyCryptodome 패키지를 사용합니다 pycypto모듈을 보완하여 기존문법도 사용가능한 PyCryptodome Pytho..
파이썬은 지속적으로 업그레이드되고 있기 때문에 최신 버전에서는 사용 가능하지만 이전 버전에서는 사용하지 못하는 명령어들이 많이 있습니다 파이썬 최신 버전에서는 새로운 기능들을 제공하기 때문에 최신 버전의 파이썬을 사용해주는 게 좋은데요 오늘은 파이썬을 새로 업그레이드하는 방법에 대해서 알아보겠습니다 현재 파이썬 버전 체크 cmd창에서 python --version 명령으로 현재 파이썬 버전을 확인할수 있습니다 현재 설치된 버전은 파이썬 3.9.4버전이네요 파이썬 최신 버전 설치하기 파이썬 최신 버전은 이곳에서 다운로드하실 수 있습니다 공식 홈페이지에보면 최신 버전인 3.11.1 버전임을 확인할 수 있습니다 해당 파일을 내려받아 설치해주세요 저의 경우 나중에 환경변수를 설정할 때 경로가 짧아야 한눈에 들어..
num이라는 변수에 일련의 숫자가 있다고 가정합니다 각 숫자의 천단위 구분기호로 출력하려면 문자열 포맷팅 fstring format을 사용하여 출력시 천단위 구분기호를 넣을수있습니다 *fstring 포맷팅의 경우 파이썬 3.6 이후 버전에서만 사용가능* format을 사용한 방법
파이썬에서 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가 나오는걸 확인할..
파이썬에 신기한 라이브러리가 있어서 오늘은 파이썬 프로그램을 실행할때 윈도우 앱 알림기능으로 알림창이 열리도록 만들어보겠습니다 패키지 설치 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라고 표기해놓은부분은 아이콘파일을 넣어주면되는데 따로 지정하지않을..