加密算法分类:
* 算法是否可逆:
#可逆算法:是否使用同一个密码
%对称加密 解密和加密的密码一样
%不对称加密 加密和解密使用的是同一对密钥
#不可逆算法(Hash算法):
特点:不可逆、结果唯一 ,如,Md5
hashlib库
'__all__', '__block_openssl_constructor', '__builtin_constructor_cache', '__builtins__', '__cached__', '__doc__', '__file__', '__get_builtin_constructor', '__loader__', '__name__', '__package__', '__spec__', '_hashlib', 'algorithms_available', 'algorithms_guaranteed', 'blake2b', 'blake2s', 'md5', 'new', 'pbkdf2_hmac', 'scrypt', 'sha1', 'sha224', 'sha256', 'sha384', 'sha3_224', 'sha3_256', 'sha3_384', 'sha3_512', 'sha512', 'shake_128', 'shake_256'
加密:
变量=hashlib.md5("12345".encode"uft-8"))
显示密钥 :md5.hexdigest()
破解密钥:先把MD5的值存下来
盐值混淆
eg.
>>> import hashlib
>>> a=hashlib.md5("12345".encode("utf-8"))
>>> a.hexdigest()
'827ccb0eea8a706c4c34a16891f84e7b'
注:盐值越复杂,越安全
运用范围:电商、
hmac库
也是哈希加密库,并且用到了对称加密
参数:(要加密的字符串,盐值,加密算法)
'HMAC', '__builtins__', '__cached__', '__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', '_hashlib', '_hashopenssl', '_openssl_md_meths', '_warnings', 'compare_digest', 'digest', 'digest_size', 'new', 'trans_36', 'trans_5C'
new()——掺加盐值加密
eg.
>>> import hmac
>>> b=hmac.new("12345".encode("utf-8"),"!@#$%".encode("utf-8"),hashlib.md5)
>>> b.hexdigest()
'889ce6c0880a11838971ab1357cf6d12'
过程:首先使用对称加密(密钥就是盐值),在进行一次md5加密(hash 加密)
time模块
asctime——获取当前时间
ctime——获取当前时间
localtime——获取本地时间,返回对象
打印年-月-日 时:分:秒
eg. >>> a=time.localtime()
>>> print("%s-%s-%s %s:%s:%s"%(a.tm_year,a.tm_mon,a.tm_mday,a.tm_hour,a.tm_min,a.tm_sec))
2021-11-14 17:7:9
sleep——休眠时间,单位:秒
time——获取当前系统时间戳,单位:秒
strftime——将时间对象格式化为字符串——格式由参数 format 决定
**
strptime——转换为时间对象
eg. >>> s="2021-11-14 17:02:35"
>>> time.strptime(s,"%Y-%m-%d %H:%M:%S")
time.struct_time(tm_year=2021, tm_mon=11, tm_mday=14, tm_hour=17, tm_min=2, tm_sec=35, tm_wday=6, tm_yday=318, tm_isdst=-1)
datetime模块
'__add__', '__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__radd__', '__reduce__', '__reduce_ex__', '__repr__', '__rsub__', '__setattr__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 'astimezone', 'combine', 'ctime', 'date', 'day', 'dst', 'fold', 'fromisocalendar', 'fromisoformat', 'fromordinal', 'fromtimestamp', 'hour', 'isocalendar', 'isoformat', 'isoweekday', 'max', 'microsecond', 'min', 'minute', 'month', 'now', 'replace', 'resolution', 'second', 'strftime', 'strptime', 'time', 'timestamp', 'timetuple', 'timetz', 'today', 'toordinal', 'tzinfo', 'tzname', 'utcfromtimestamp', 'utcnow', 'utcoffset', 'utctimetuple', 'weekday', 'year'
now——获取当前时间
其他模块
Calendar模块——日历模块
uuid模块——获取用不重复的字符串文件上传下载备份