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加密,使得更加安全

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值