python3 time、random、hashlib模块
一、时间模块
时间的几种形式:时间戳,结构化时间,字符串时间
import time
print(time.time()) # 仅仅是当前时间的时间戳 float
print(time.localtime()) # 时间对象
s = time.localtime() # 结构化时间对象
s2 = time.gmtime() # 结构化时间对象 UTC时间
print(s)
print(s2) res0 = time.mktime(time.localtime()) # 将结构化时间 转化成 时间戳 res1 = time.localtime(1412414234) # 将时间戳 转化成 结构化时间 res2 = time.strftime("%Y-%m-%d", time.localtime()) # 将结构化时间 转化成 字符串时间 res3 = time.strptime("1900:03:12", "%Y-%m-%d") # 将字符串时间 转化成 结构化时间 res4 = time.asctime() # 将结构化时间 转化成 固定合适字符串时间 'Sun Nov 25 10:03:43 1979' res5 = time.ctime() # 将时间戳 转化成 固定格式字符串时间 'Sun Nov 25 10:03:43 1979' res6 = time.sleep() # 睡几秒,暂停几秒
二、随机数模块
import random print(random.random()) # (0, 1) float类型 print(random.uniform(1, 3)) # float类型 print(random.randint(1, 3)) # [1, 3] int print(random.randrange(1, 3)) #[1, 3) int print(random.choice([1, 2, 'hello'])) # 随机 print(random.sample((1, 5), 2)) # 列表元素任意两个组合 l = [111, 222, 333, 444]
# random.shuffle(l)
print(random.shuffle(l))
# 练习:五位数字大小写字母验证码
def valdate_code():
ret = ""
for i in range(5):
num = random.randint(0, 9)
alfa = chr(random.randint(97, 122))
alfa2 = chr(random.randint(65, 90))
s = random.choice([str(num), alfa, alfa2])
ret = ret + s
return ret
print(valdate_code())
三、摘要算法hashlib
摘要算法应用1:文件一致性校验
# md5计算
import hashlib md5_obj=hashlib.md5()
md5_obj.update(b"helloworld") print(md5_obj.hexdigest()) # fc5e038d38a57032085441e7fe7010b0
# 如果数据量大,可以分块调用update,下面的计算值跟直接计算‘yuanhelloworld’值一样
import hashlib md5_obj=hashlib.md5() md5_obj.update(b"yuan")
md5_obj.update(b"helloworld") print(md5_obj.hexdigest()) #423bf62926c0e5bfba81a94977fdb224
摘要算法应用2:登录
username pwd admin admin
4523453452345 4732467812364342423
4523453452345 31423149238147982 admin ----------- 4732467812364 adminjindongdf ----------- 4732467812364342423 root ----------- 892345789432 12345678 ----------- 6732456784325 加盐处理 salt
md5_obj=hashlib.md5("salt")
md5_obj.update("admin") # saltadmin
python3 time、random、hashlib模块的更多相关文章
- python接口自动化测试二十七:密码MD5加密 ''' MD5加密 ''' # 由于MD5模块在python3中被移除 # 在python3中使用hashlib模块进行md5操作 import hashlib # 待加密信息 str = 'asdas89799,.//plrmf' # 创建md5对象 hl = hashlib.md5() # Tips # 此处必须声明encode # 若写法为
python接口自动化测试二十七:密码MD5加密 ''' MD5加密 '''# 由于MD5模块在python3中被移除# 在python3中使用hashlib模块进行md5操作import has ...
- Python之数据加密与解密及相关操作(hashlib模块、hmac模块、random模块、base64模块、pycrypto模块)
本文内容 数据加密概述 Python中实现数据加密的模块简介 hashlib与hmac模块介绍 random与secrets模块介绍 base64模块介绍 pycrypto模块介绍 总结 参考文档 提 ...
- python---基础知识回顾(四)(模块sys,os,random,hashlib,re,序列化json和pickle,xml,shutil,configparser,logging,datetime和time,其他)
前提:dir,__all__,help,__doc__,__file__ dir:可以用来查看模块中的所有特性(函数,类,变量等) >>> import copy >>& ...
- python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess logging re正则
python 常用模块 time random os模块 sys模块 json & pickle shelve模块 xml模块 configparser hashlib subprocess ...
- python基础语法11 内置模块time,datatime,random,os,sys,hashlib模块
time模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. 2.格式化时间(Format Strin ...
- time模块 datetime 模块 random 模块 OS 模块 sys 模块 hashlib 模块
time模块 在python中的时间表现形式: 时间戳 (自1970-01-01-00-00 到当前时间,按秒计算,一共过了多少秒 格式化时间 返回的是时间的字符串 格式化时间对象 返回的是一个元组 ...
- Py修行路 python基础 (二十)模块 time模块,random模块,hashlib模块,OS及sys模块
一.前提介绍: 可以开辟作用域的只有类,函数,和模块 for循环 if,else: 不能开辟自己的作用域 避免程序复用和重复调用,将这些写到一个.py文件中,做成一个模块,进行调 ...
- Python3 os模块&sys模块&hashlib模块
''' os模块 非常重要的模块 ''' import os # print(os.getcwd()) # 获取当前工作目录 # os.chdir(r'路径名') # 改变当前工作目录 # print ...
- python3.7 random模块
#!/usr/bin/env python __author__ = "lrtao2010" #python3.7 random模块 import random #随机模块 # r ...
- day13 函数模块之序列化 random 模块 os模块 sys模块 hashlib模块 collections模块
json import json dic = {'k1':'v1','k2':'v2','k3':'v3'} str_dic = json.dumps(dic) #序列化:将一个字典转换成一个字符串 ...
随机推荐
- python 基础篇 11 函数进阶----装饰器
11. 前⽅⾼能-装饰器初识本节主要内容:1. 函数名的运⽤, 第⼀类对象2. 闭包3. 装饰器初识 一:函数名的运用: 函数名是一个变量,但他是一个特殊变量,加上括号可以执行函数. ⼆. 闭包什么是 ...
- #Spring实战第二章学习笔记————装配Bean
Spring实战第二章学习笔记----装配Bean 创建应用对象之间协作关系的行为通常称为装配(wiring).这也是依赖注入(DI)的本质. Spring配置的可选方案 当描述bean如何被装配时, ...
- Captcha 验证码Example
maven依赖 防止和spring中的servlet冲突 <dependency> <groupId>com.github.penggle</groupId> &l ...
- 输出1-n的全排(递归C++)
[问题描述] 输出1到n之间所有不重复的排列,即1到n的全排,要求所产生的任一数列不含有重复的数字. [代码展示] #include<iostream>using namespace st ...
- font and face, 浅探Emacs字体选择机制及部分记录
缘起 最近因为仰慕org-mode,从vim迁移到了Emacs.偶然发现org-mode中调出的calendar第一行居然没有对齐,排查一下发现是字体的问题.刚好也想改改Emacs的字体,于是我就开始 ...
- LeetCode 2——两数相加
1. 题目 2. 解答 循环遍历两个链表 若两个链表都非空,将两个链表结点的值和进位相加求出和以及新的进位 若其中一个链表为空,则将另一个链表结点的值和进位相加求出和以及新的进位 然后将每一位的和添加 ...
- mysql 连接问题
用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...
- Spring 学习笔记(八)—— 注解使用整合
@Autowired —— 自动装配 需先在配置文件中,配置一个org.springframework.beans.factory.annotation. AutowiredAnnotationBe ...
- htm,html,xhtml,xml,xsl,dhtml,shtm和shtml的区分
介绍一下htm,html,xhtml,xml,shtml的区分,以下内容来自百度后的知识整理. HTML和htm: HTML(Hypertext Markup Language)超文本传输语言,是ww ...
- 在submit_bio处使用stapn
想着在submit_bio的地方,发现在guru模式下,stap是经常性地把内核整挂呀,不得已,也没有发现stap什么比较好的调试方法,所以索性直接使用stap的语法了,但是发现有问题呢,有的时候bv ...