python标准库之secrets

secrets

secrets是python3.6加入到标准库的,使用secrets模块,可以生成适用于处理机密信息(如密码,帐户身份验证,安全令牌)的加密强随机数。

导入

import secrets

SystemRandom

它是使用OS提供的最高质量源生成随机数的类。 有关更多详细信息,请参阅random.SystemRandom。


secrets.SystemRandom()
<random.SystemRandom at 0x7fd537094418>

choice(sequence)

从非空序列中选择一个元素。

secrets.choice([23,3,5,6])

randbelow

[0,n) 取0-n之间的整数

secrets.randbelow(10)
6

randbits(k)

随机k位整数。(不知道啥意思)

secrets.randbits(10)
426

生成token

secret模块还提供用于生成适合于重置密码和难以想象的URL的安全令牌的功能。

token_bytes

secrets.token_bytes(nbytes=10)
b'\xca\xfeQ\x03&\x8b7\xd7&\xaf'

返回包含nbytes个字节的字节字符串。 如果nbytes为None或未给出,则使用有效的默认值。

token_hex

返回十六进制随机文本字符串。 该字符串有n个字节的随机字节,每个字节转换为两个十六进制数字。 如果nbytes为None或未给出,则使用有效的默认值。

secrets.token_hex()
'494ee83c2a42ce3dc488b059eb64a50628667e9f2c939a87672d3d6a1748252a'

token_urlsafe

返回随机字节为nbytes的URL安全文本字符串。 文本以Base64编码,每个字节平均约为1.3个字符。 如果nbytes为None或未给出,则使用有效的默认值。

secrets.token_urlsafe()
'giZFsPv9ch4OGWvuqihEIkj0LwOsHDOjgGHoqDeTvb8'

compare_digest

字符串比较的安全方式,减少攻击风险。

secrets.compare_digest("e","E")
False

转载于:https://www.cnblogs.com/c-x-a/p/10141772.html

以下是 Python 3.9 版本的标准库列表: - abc - aifc - argparse - array - ast - asyncio - asyncore - atexit - audioop - base64 - bdb - binascii - binhex - bisect - builtins - bz2 - cProfile - calendar - cgi - cgitb - chunk - cmath - cmd - code - codecs - codeop - collections - collections.abc - colorsys - compileall - concurrent - configparser - contextlib - contextvars - copy - copyreg - crypt - csv - ctypes - curses - dataclasses - datetime - dbm - decimal - difflib - dis - distutils - doctest - email - encodings - ensurepip - enum - errno - faulthandler - fcntl - filecmp - fileinput - fnmatch - formatter - fractions - ftplib - functools - gc - getopt - getpass - glob - grp - gzip - hashlib - heapq - hmac - html - http - hyperlinks - imaplib - imghdr - importlib - inspect - io - ipaddress - itertools - json - keyword - lib2to3 - linecache - locale - logging - lzma - mailbox - mailcap - marshal - math - mmap - modulefinder - msilib - multiprocessing - netrc - nis - nntplib - numbers - opcode - operator - optparse - os - os.path - parser - pathlib - pdb - pickle - pickletools - pipes - pkgutil - platform - plistlib - poplib - pprint - profile - pstats - pty - py_compile - queue - quopri - random - re - readline - reprlib - resource - rlcompleter - runpy - sched - secrets - select - selectors - shelve - shlex - shutil - signal - site - smtpd - smtplib - sndhdr - socket - socketserver - sqlite3 - ssl - stat - statistics - string - stringprep - struct - subprocess - sunau - symbol - symtable - sys - sysconfig - syslog - tabnanny - tarfile - telnetlib - tempfile - termios - test - textwrap - threading - time - timeit - tkinter - token - tokenize - traceback - tracemalloc - tty - turtle - types - typing - unicodedata - unittest - urllib - uu - uuid - venv - warnings - wave - weakref - webbrowser - winreg - winsound - wsgiref - xdrlib - xml - xmlrpc - zipapp - zipfile - zipimport - zlib
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值