zoukankan      html  css  js  c++  java
  • 【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模块
  • 相关阅读:
    二分查找
    Java版各种排序算法 (冒泡,快速,选择,插入)
    mysql如何利用Navicat 导出和导入数据库
    eclipse项目红色叹号解决方法
    解决tomcat占用8080端口问题
    Window.onLoad 和 DOMContentLoaded事件的先后顺序
    jquery $(document).ready() 与window.onload的区别
    jQuery文档加载完毕的几种写法
    Emmet使用手册
    Sublime Text 3快捷键
  • 原文地址:https://www.cnblogs.com/amengmeng/p/8318381.html
Copyright © 2011-2022 走看看