python3 time、random、hashlib模块
2024-08-21 15:29:21
一、时间模块
时间的几种形式:时间戳,结构化时间,字符串时间
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
最新文章
- 【JQ基础】数组
- python中使用正则表达式
- Android高手速成
- mac端的优秀抓包工具——Charles使用
- magento 备份
- mysql 无法远程访问(授权也没办法,确切的说是因为只绑定了127IP)
- 自定义的带tab的可左右滑动的viewpager之二viewpager与fragment不兼容
- JS数组定义
- iOS 制作发布证书,发布到App Store
- Android 监听wifi广播的两种方式
- 利用js制作异步验证ajax方法()
- 集群安装配置Hadoop具体图解
- iis配置PHP
- (转)Java正则表达式的语法与示例
- 关于redis的使用
- IE8浏览器官方下载 包含Windows中繁英文各个版本
- Flask最强攻略 - 跟DragonFire学Flask - 第五篇 做一个用户登录之后查看学员信息的小例子
- html和css命名标准以及常用的框架,我使用的是网易nec
- sqlserver年月日转汉字大写--自定义函数--繁体
- jQuery.ajax() 如何设置 Headers 中的 Accept 内容