티스토리 뷰

728x90

<목차>

    secrets 라이브러리

    ✔️ secure random number를 생성해준다. 

     

    - secret key를 생성할 때 사용할 수 있다. 

    - random id를 생성할 때 사용할 수 있다. 

     

    import secrets

     

    📄 secrets.token_bytes(nbytes=32)

    secrets.token_bytes()
    b'\xe0}v\x8c\xb7\x00\xf9\xe9\x06\x9dm\t\xcf\xeb"=\x90\x91\x94#\x05r%\xd0\'\xa4S\x0f\xe3\xcau\n'
    
    len(secrets.token_bytes())
    
    32

     

    secrets.token_bytes(16)
    
    b'i\x98\xe7ze\xe2\x9d\x80\xb3\xe41L\xc3]\x99"'
    
    len(secrets.token_bytes(16))
    
    16

     

    📄 secrets.token_hex(nbytes=32)

    secrets.token_hex()
    
    'eb2a2f290ba7fcbf09cd818bb71718a33876db6165c211fbde09c19fec6eadf9'
    
    len(secrets.token_hex())
    
    64

     

    ✔️ 각 byte는 두개의 hex 문자로 변환된다. 

    → 16bytes = 16 * 2 = 32개의 hex 문자열

    secrets.token_hex(16)
    
    '7ec72a2c832fde9a359e448f5fde122e'
    
    len(secrets.token_hex(16))
    
    32

     

    📄 secrets.token_urlsafe(nbytes=32)

    secrets.token_urlsafe()
    
    'eAGcOCztg807B7CZB6Y1oiAB_6-0wgUOQUA7w1VDLBU'
    
    len(secrets.token_urlsafe())
    
    43

     

    ✔️ 텍스트는 Base64방식으로 인코딩되므로 평균적으로 각 바이트는 약 1.35자로 변환된다. 

    secrets.token_urlsafe(16)
    
    '0k-EYFNf_CsaOxf5o6Pjow'
    
    len(secrets.token_urlsafe(16))
    
    22

     


    ref.

    - secrets — Generate secure random numbers for managing secrets — Python 3.9.6 documentation

     

    secrets — Generate secure random numbers for managing secrets — Python 3.9.6 documentation

    secrets — Generate secure random numbers for managing secrets Source code: Lib/secrets.py The secrets module is used for generating cryptographically strong random numbers suitable for managing data such as passwords, account authentication, security tok

    docs.python.org

     

    728x90
    댓글
    공지사항
    최근에 올라온 글