首页 > 编程语言 >python内置库--secrets

python内置库--secrets

时间:2023-05-28 17:11:51浏览次数:42  
标签:None 字节 python random -- 随机 secrets nbytes

1 关于secrets

secrets 模块用于生成高度加密的随机数,安全性比较高,应用方面有生成安全的随机数、生成密码字符串等
python官方也推荐最好用 secrets 替代 random 模块,random 模块生成的是一种伪随机数,基于系统时钟和其它可预测原理生成,不是真正随机和安全的

2 相关函数和类

class secrets.SystemRandom()

一个class 更安全地生成随机数据的class 。通过这个class,我们可以使用random模块下的所有函数。也就是说,通过这个class random下的而函数也可以像secrets下的函数一样生成安全的随机数
等同于random.SystemRandom()

image
执行
image

secrets.choice(sequence)

Return a randomly chosen element from a non-empty sequence.
image

secrets.randbelow(n)

返回 [0, n) 范围内的随机整数。

secrets.randbits(k)

返回一个整数, 该整数具有k随机比特

# 大小写字母+数子0-9
letters_and_num = string.ascii_letters + string.digits
# letters_and_num中随机挑选8个数据,组成字符串
pwd = ''.join(secrets.choice(letters_and_num) for i in range(8))

结果

'EhvueUUr'

image

secrets.token_bytes([nbytes=None])
返回含 nbytes 个字节的随机字节字符串,如果未提供 nbytes,或nbytes为 None,则默认为32字节
image

secrets.token_hex([nbytes=None])
返回十六进制随机文本字符串。字符串有 nbytes 个随机字节,如果未提供 nbytes,或nbytes为 None,则默认为32字节

image

secrets.token_urlsafe([nbytes=None])
返回安全的 URL 随机文本字符串,包含 nbytes 个随机字节。文本用 Base64 编码,平均来说,每个字节对应 1.3 个结果字符
image

标签:None,字节,python,random,--,随机,secrets,nbytes
From: https://www.cnblogs.com/MyRecords/p/17437875.html

相关文章

  • 应用启动时加载application.properties配置文件
    配置aliyun.sms.regionId=defaultaliyun.sms.accessKeyId=LTAIxxxaliyun.sms.secret=PAxxxx importorg.springframework.beans.factory.InitializingBean;importorg.springframework.beans.factory.annotation.Value;importorg.springframework.stereotype.Compone......
  • day108 - jdbc复习
    jdbc复习导包 <dependencies><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.28</version></dependency>​​</......
  • linux安装cuda11.3 多版本切换
    https://developer.nvidia.com/cuda-toolkit-archivelsb_release查看ubuntu版本,选择对应版本后通过runfile安装:wgethttps://developer.download.nvidia.com/compute/cuda/11.3.1/local_installers/cuda_11.3.1_465.19.01_linux.runsudoshcuda_11.3.1_465.19.01_linux.run......
  • windows nginx.bat cmd 命令脚本,方便windows开发
    @echooffsetROOT=C:\Users\38524\bin\nginx-1.25.0echoyounginxrootpathis:%ROOT%setCMD=%ROOT%\nginx.exeechoyounginxcmdpathis:%CMD%setCONF=%ROOT%\conf\nginx.confechoyounginxconfpathis:%CONF%^@REMforstart@REMecho......
  • 6.6.4 PCS创建Oracle 资源及资源组
    在RHCS体系中,Oracle的启动是按以下顺序进行的:VIP。监听器。逻辑卷(ISCSI共享出来的)。文件系统(在逻辑卷上创建)。数据库实例。上边这些资源,在PCS里创建好以后,将其组合成一个单独的资源组,形成一个不可分割的整体。1)PCS添加Oracle监听器资源Oracle的VIP资源在前边已经添加,那么接下来就......
  • 【教程】手把手教你如何修改ChatGPT的密码
    申请OpenAI成功后,如何修改OpenAI的密码?OpenAI并没有内置账号安全管理的选项,因此它其实并没有绑定任何手机号的,手机号只是一道机器验证,邮箱也是。所以如果你用邮箱注册了OpenAI的话,后面是无法修改更换邮箱的。下面教你如何修改ChatGPT的密码,手机电脑端均可修改:第一步,打开OpenAI登陆......
  • 战神CDN评测(十)
    在上一期我们评测了战神CDN的响应头配置功能战神CDN评测(九)现在我们评测它们的证书功能,点击下面的链接可以查看它们产品具体的文档。战神CDN-证书管理战神CDN产品提供的证书功能,通过配置证书,可以提高网站的安全性、提高网站的可信度,提高SEO排名,配置证书后用户可以通过https协议......
  • 结构体
    一、结构体类型的声明下面声明两个结构体,一个为学生结构体student,一个为成绩单结构体transcript。transcript为student的成员之一。 struct称为“结构体关键字”,student称为“结构体标签“,将二者合并structstudent称为”结构体类型“,级别等同于intchar等类型名student里的name,a......
  • Unity的IPostGenerateGradleAndroidProject:深入解析与实用案例
    UnityIPostGenerateGradleAndroidProjectUnity是一款流行的跨平台游戏引擎,它支持多种平台,包括Android。在Unity中,我们可以使用IPostGenerateGradleAndroidProject接口来自定义Gradle构建过程。本文将介绍如何使用IPostGenerateGradleAndroidProject接口,并提供三个使用例子。IPos......
  • 普加项目管理中间件示例之三:自定义单元格样式,行样式,以及单元格内容
    通过监听处理"drawcell"事件,可以根据任务信息,设置行、单元格样式,以及自定义单元格Html内容。参考示例demo/DiyDisplay.html。代码如下:project.on("drawcell",function(e){vartask=e.record,column=e.column,field=e.field;//单元格样式if(column.name......