728x90
반응형
Python과 Pyotp모듈을 이용해 간단한 OTP 시스템을 구현할 수 있다.
$ pip3 install pyotp
위 명령을 이용해 pyotp모듈을 설치한다.
설명이 필요할정도의 복잡한 코드는 없기에, 라인별 주석 설명으로 코드해석은 대체한다.
import pyotp # pyotp
import datetime # 시간 라이브러리
# otp에 사용할 키 - base32 방식 A-Z 2-7까지를 이용하고 = 는 채워야하는 공간 패딩 처리용
otp_key = 'GAYDAMBQGADDAMBQGAYDAMBQGA======'
# totp 생성
totp = pyotp.TOTP(otp_key)
# 현재 시간 얻기
now = datetime.datetime.now()
# 현재 시간 출력
print('current time : ', now)
# totp.at을 이용한 TOTP 값 출력, totp.now를 이용한 출력
print("now totp.at: " + str(totp.at(datetime.datetime.now())) + ", totp.now : " + totp.now())
# 현재 시간에 30초를 더해서 totp.at으로 30초 후 OTP 값을 출력
print('next otp : ', totp.at(int(now.timestamp())+30))
728x90
반응형
'Python' 카테고리의 다른 글
파이썬 코드 난독화 (0) | 2021.01.21 |
---|---|
파이썬 Selenium 모듈을 이용한 트위터 팔로워 크롤러 개발 (0) | 2020.12.04 |
파이썬을 이용해 OTP 시스템 만들기 (4) | 2020.11.11 |
Python과 C#을 이용한 소켓통신 (0) | 2020.11.10 |
Python을 이용한 간단한 파일공유 웹서버 개발하기 (0) | 2020.09.06 |
우분투 데비안 계열 리눅스 pip 설치 (0) | 2020.03.15 |
파이썬으로 이런 것도 가능하군요. OTP라니 ㄷㄷ ;