继续加油,只有自己才能改变自己的命运
今天学习的第一模块hashlib模块,这个模块可以用于加密的相关操作,在python3中取代了md5和sha模块,主要提供SHA1,SHA224,SHA256,SHA512,MD5算法
导入方式为 import hashlib
m
=
hashlib.md5()
m.update(b
"Hello"
)
m.update(b
"It's me"
)#每更新一次,md5值都会更新
print
(m.digest())#打印出一个md5值,这里的md5值是hello+It's me的md5值
可以验证一下
m2=hashlib.md5()
m2.update(b"hellogo on")
print(m2.hexdigest())#该处打印出的值与上一个print所得的值一样
m.update(b
"It's been a long time since last time we ..."
)
print
(m.digest())
#2进制格式hash
print
(
len
(m.hexdigest()))
#16进制格式hash
然后是其他算法的运用,都基本相同
# ######## sha1 ########
hash
=
hashlib.sha1()
hash
.update(
'admin'
)
print
(
hash
.hexdigest())
# ######## sha256 ########
hash
=
hashlib.sha256()
hash
.update(
'admin'
)
print
(
hash
.hexdigest())
# ######## sha384 ########
hash
=
hashlib.sha384()
hash
.update(
'admin'
)
print
(
hash
.hexdigest())
# ######## sha512 ########
hash
=
hashlib.sha512()
hash
.update(
'admin'
)
print
(
hash
.hexdigest())
不同的是,打印出的值都不同,但每个值代表的含义相同
第二个学习的是hmac模块
导入方法为 import hmac
用法为
import
hmac
h
=
hmac.new(b
'天王盖地虎'
, b
'宝塔镇河妖'
)#在内部创建一个key,并传入一个message
print
(h.hexdigest())
#先在内部创建一个key值,然后在进行加密,双重加密
散列消息鉴别码,简称HMAC,是一种基于消息鉴别码MAC(Message Authentication Code)的鉴别机制。使用HMAC时,消息通讯的双方,通过验证消息中加入的鉴别密钥K来鉴别消息的真伪;
一般用于网络通信中消息加密,前提是双方先要约定好key,就像接头暗号一样,然后消息发送把用key把消息加密,接收方用key + 消息明文再加密,拿加密后的值 跟 发送者的相对比是否相等,这样就能验证消息的真实性,及发送者的合法性了。
还学习re模块的一部分,由于是一个模块,今天在这里就不写了,留在明天再写把。