【Python】学习笔记4-time、md5、加密base64模块
1、time
# 1、格式化好的时间 2018-1-14 16:42
# 2、时间戳 是从unix元年到现在所有的秒数
# 3、时间元组
# 想时间戳和格式化好的时间互相转换的话,都要先转成时间元组,然后才能转
1 # print(int(time.time())) #当前时间戳 2 # cur_time = time.strftime('%Y-%m-%d %H:%M:%S') 3 # cur_time = time.strftime('%H%M%S') #取当前时间的格式化时间 4 # print(time.gmtime())#默认取标准时区的时间元组,如果传入了一个时间戳,那么就把这个时间戳转换成时间元组。 5 # print(time.timezone) #和标准时间相差了几个小时 6 # print(time.gmtime(1516005840)) #标准时区。 7 cur_time= time.localtime(1516005840) #默认取当前时区的时间元组,如果传入了一个时间戳,那么就把这个时间戳转换成时间元组。 8 res = time.strftime('%Y-%m-%d %H:%M:%S',cur_time) 9 def timestampToStr(time_strmp,format='%Y%m%d%H%M%S'): 10 #时间戳转格式化好的时间 11 cur_time = time.localtime(time_strmp) #时间戳转成时间元组 12 res = time.strftime(format, cur_time) #再把时间元组转成格式化好的时间 13 return res 14 def strToTimestamp(time_st,format='%Y%m%d%H%M%S'): 15 #20181128113859 16 #这个函数是格式化好的时间,转时间戳的 17 t=time.strptime(time_st,format) #把格式化好的时间转成时间元组 18 res = time.mktime(t) #时间元组转成时间戳 19 return res
2、hashlib
md5加密是不可逆的,不能被解密的
1 cm = 'aaaa' 2 print(cm.encode()) #输出:b'aaaa' 3 m =hashlib.md5() 4 m.update(cm.encode()) #加密,不能传字符串,只能传二进制类型,bytes 5 print(m.hexdigest()) #加密后的结果
撞库:有些网址可以解密md5,也只是解密简单的md5,是因为把简单的数据加密后被保存到自己的数据存中,下次解密的时候直接查找自己的数据库
3、base64
1 import base64 2 r = base64.b32encode('1'.encode()) 3 print(r.decode()) 4 print(base64.b64decode(r)) 5 6 # 加密# 7 s = 'hahaha' 8 bytes_s = s.encode()#字符串变成二进制 9 res = base64.b64encode(bytes_s) 10 print(res.decode())#二进制byte转换成字符串 11 12 # 解密 13 print(base64.b64decode(res.decode()))
4、datatime
1 import datetime 2 print(datetime.datetime.today()) #当前时间,到秒 3 print(datetime.datetime.now()) #当前时间,到秒,一样 4 # print(datetime.datetime.today().strftime('%s')) #可以用strftime改成任意格式 5 print(datetime.datetime.today()+datetime.timedelta(3)) #取3天后的 6 print(datetime.datetime.today()+datetime.timedelta(-3)) #取3天前的 7 print(datetime.date.today()) #取当前的日期,只是日期 8 9 #time对时间戳操作方法,datetime对日期操作方便,根据具体情况 #修改作业中改成datetime模块