secrets
モジュールを使って、パスワードやアカウント認証、セキュリティトークンなどの機密を扱うのに適した、暗号学的に強い乱数を生成することができます。
secrets
モジュールはパスワードのリセットや想像しにくい URL などの用途に適した、安全なトークンを生成するための関数を提供します。
token_bytes()
バイトを含むバイト文字列を返します。nbytes が None
の場合や与えられなかった場合は妥当なデフォルト値が使われます。
コード:
from secrets import token_bytes bytes = token_bytes(5) print(bytes)
実行結果:
b'\xc4\xb9\xa0^\x10'
token_hex()
十六進数のランダムなテキスト文字列を返します。文字列は nbytes のランダムなバイトを持ち、各バイトは二つの十六進数に変換されます。nbytes が None
の場合や与えられなかった場合は妥当なデフォルト値が使われます。
コード:
from secrets import token_hex hex = token_hex(16) print(hex)
実行結果:
91cb36f659666848c0ac8f3efc150926
token_urlsafe()
nbytes のランダムなバイトを持つ URL 安全なテキスト文字列を返します。テキストは Base64 でエンコードされていて、平均的に各バイトは約 1.3 文字になります。 nbytes が None
の場合や与えられなかった場合は妥当なデフォルト値が使われます。
コード:
from secrets import token_urlsafe safe_url = token_urlsafe(16) print(safe_url)
実行結果:
teMZxNa1q4LlwdcEev6YrA