Python加密解密模块的算法有哪些?Python学习
老男孩IT教育
常见问题
2021年6月22日 18:30
在各类编程语言中,为了保护数据的安全性,如用户登录时的密码等等,我们经常会看到各种加密算法,如MD5,sha1等等,在了解之前我们需要知道hashlib这个模块,它是目前Python一个提供字符加密的模块,它加密的字符类型为二进制编码,所以如果直接加密字符串会导致程序报错。
在各类编程语言中,为了保护数据的安全性,如用户登录时的密码等等,我们经常会看到各种加密算法,如MD5,sha1等等,在了解之前我们需要知道hashlib这个模块,它是目前Python一个提供字符加密的模块,它加密的字符类型为二进制编码,所以如果直接加密字符串会导致程序报错。
MD5
全称为Message-Digest Algorithm,是计算机编程中广泛使用的算法之一,主流编程语言普遍已有MD5实现,MD5前身有MD2、MD3和MD4。它具有以下特点:
·压缩性:任意长度的数据,MD5后值的长度都是固定的。
·容易计算:从原数据计算出MD5值很容易。
·抗修改性:对原数据进行任何改动,哪怕只修改一个字节,所得到的MD5值也会有很大区别。
·强抗碰撞:如果已知原数据和MD5值,想找到一个具有相同MD5值的数据,是非常困难的。
MD5的作用是让私密信息进行一定的“压缩”而形成一个随机的固定长度的字节,它是最常见的加密算法,生成速度也很快。
sha1&sha224&sha256&sha384&sha512:即安全散列算法,结果是160bit字节,通常用一个40位的16进制字符串表示。
以上加密虽然都狠优秀,但在一定情况下仍然存在一定缺陷,毕竟没有任何一门技术是毫无缺点的,所以,有必要对加密算法中添加自定义key来保证数据的安全性。
对于技术小白,或对Python课程感兴趣的小伙伴们,欢迎选择老男孩教育,我们一直秉承保证教学质量才是硬道理的发展观,坚持做正确的事,用心帮助每一位学员通过在老男孩努力学习获得体面的工作和生活。
推荐阅读:
