python中常用的加密算法

1.加密算法分类

 2.hashlib库

1.MD5加密:全称MD5消息摘要算法

最主要的一种加密方式,使用广泛

python代码举例:

>>> import hashlib
>>> m = hashlib.md5("123456".encode("utf-8"))
>>> m
<md5 _hashlib.HASH object @ 0x000001ED53875B30>
>>> m.hexdigest()
'e10adc3949ba59abbe56e057f20f883e'

注意:要加入.encode("utf-8")将字符转变为字节数据,否则就会报错

要查看加密后的数字123456,则需要调用hexdigest方法

2.那么如何去破解这个密码?

最简单的方法就是可以用这个网站:https://cmd5.com/

只需要将密文输入就可以进行查询,但并不能解密所有密文,即越难的密文越难破解

3.如何使密文更难被破解?

可以使用盐值混淆

我们对前面的123456使用盐值混淆

调用update方法,在后面加入复杂的字符

用法示例:

>>> m.update("*&$#".encode("utf-8"))
>>> m.hexdigest()
'2723781bcf1c61397bf000e4057aa9ad'

最后得到的密文就较为复杂,难以破解,盐值越复杂,则越安全。

3.hmac

hmac加密全称:散列消息鉴别码

用到的是对称加密,也是哈希加密库

参数:第一个参数是要加密的字符串,第二个参数是盐值,第三个参数是加密算法

用法示例:

>>> import hmac
>>> m = hmac.new("123456".encode("utf-8"),"*&hihi".encode("utf-8"),hashlib.md5)
>>> m.hexdigest()
'28bb7a98a2008101fd7729c4f30e45e6'

加密原理:使用对称加密,密钥就是盐值,然后进行了一次MD5加密,使得更加安全


版权声明:本文为Word_Smith_原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。