secret 모듈
- 암호, 계정 인증, 보안 토큰 및 관련 데이터를 관리하는 데 적합한 암호학적으로 강력한 난수를 생성하는 데 사용
- 특히 모델링과 시뮬레이션용으로 설계된 random 모듈의 기본 의사 난수 생성기보다 먼저 사용해야 함
#비어 있지 않는 시퀀스에서 무작위로 선택된 요소를 반환
import secrets
secrets.choice(sequence)
#0~n 범위의 임의의 int를 반환
secrets.randbelow(n)
#k개의 랜덤 비트를 가진 임의의 int를 반환
secrets.randbits(k)
#nbytes의 바이트 수를 포함하는 임의의 바이트 문자열을 반환
#nbytes가 None이거나 제공되지 않으면 합리적인 기본값이 사용
secrets.token_bytes(16)
#임의의 텍스트 문자열을 16진수로 변환
#문자열에는 nbytes의 임의의 바이트가 있으며 각 바이트는 두 개의 16진수로 변환
#None이거나 제공되지 않으면 합리적인 기본값이 사용
secrets.token_hex(16)
#nbytes의 임의의 바이트를 포함하는 임의의 URL 안전 텍스트 문자열을 반환
#텍스트는 Base64로 인코딩되므로 평균적으로 각 바이트는 약 1.3자
#None이거나 제공되지 않으면 합리적인 기본값이 사용
secrets.token_urlsafe(16)
참조 : https://blog.naver.com/hellojinny/222466825137_