python把字符串3des加密_Python干货之六大密码学编程库

3bfa904f68ca8d843f6c0e09f872e36e.png

信息加密和信息隐藏是实现信息安全与保密的主要手段。除了一些经典的加密解密算法和自己设计的加密算法之外,我们还可以充分利用Python标准库和扩展库提供的丰富功能来辅助我们完成信息加密解密实现。本文收集了6个常用的Python密码学编程库以供参考。

1、Hashids

Hashids是一个非常小巧的跨语言的开源库,它用来把数字编码成一个随机字符串, 并轻松通过key解码回来。这对于将多个参数捆绑到一个参数中或仅将其用作简短的uid非常有用。著名的Youtube网站就是用Hashids把网站数据库id搞乱,让它失去顺序性,无法直接遍历,从而提高爬虫的门槛。

5f11acc37a2e58152445dd149fef04f1.png
官网:Hashids

2、Paramiko

Paramiko是用于建立 SSH2 连接(客户端或服务器)的Python库。重点是使用 SSH2 作为 SSL 的替代方法,以在 python 脚本之间建立安全连接,以实现远程命令执行、文件传输、中间SSH代理等功能。Paramiko支持所有主要密码和哈希方法。也支持 SFTP 客户端和服务器模式。

2c74af8ea8834619e856cc8accf101db.png
官网:Welcome to Paramiko!

3、Passlib

Passlib是基于Python2&3的密码散列库,它提供了30多种密码散列算法的跨平台实现,以及管理现有密码散列的框架。它被设计成可用于广泛的任务,包括从验证/etc/shadow中的散列密码到为多用户应用程序提供高强度密码散列算法。

deb3a029fd647f2f93150380e22db0cd.png
官网:Passlib 1.7.4 documentation

4、PyNaCl

PyNaCl是libsodium库的Python实现。libsodium是一个基于NaCI开发的先进而且易用的加密库,主要用于加密、解密、签名和生成密码哈希等。PyNaCI能够提供数字签名、密钥加密、公钥加密、哈希和消息身份验证、基于密码的密钥派生和密码散列功能。

10a86b7d0bb18923010493e258207622.png
Github:pyca/pynacl

5、Cryptography

Cryptography密码库的目标是成为”人类易于使用的密码学包“,它包括The hazardous materials layer和The recipes layer两个部分。The hazardous materials(低级密码学原语)提供了基本的密码概念,如加密、签名、Hash等算法,但是直接使用密码学原语容易出错。所以Cryptography库对密码学原语进行了安全集成,形成了更高层次的The recipes layer (密码学菜谱)。通过其集成的对称密码函数Fernet,我们可以轻松实现对称加密。

7fd4c9f55319928f099dcad15697e376.png
官网:Welcome to pyca/cryptography - Cryptography 3.4.dev1 documentation

6、Pycrypto

Pycrypto(Python 密码学工具箱),可以说是密码学编程库中最成功也是最成熟的一个,它提供了MD5、SHA、HMAC等多个安全哈希算法,以及DES、AES、ARC4、RSA、DSA、ElGamal等多个加密算法和数字签名算法的实现,并提供了很多有用的模块和函数(如长字符串转换、随机数生成、数论函数等)。

e5cec7eae9cff5dee4b9ac7015ba7057.png
官网:PyCrypto - The Python Cryptography Toolkit

关于Python密码学

整理这篇文章,是为了更好的学习了解Python的加密解密实现,以备不时之需。而真正去使用,需要有一定Python和密码学基础。如果对密码学有兴趣,并想真正去搞懂学透的话,还是建议从基本的密码学原理和加密解密算法原理入手,推荐我入门学习的一本书,人民邮电出版社的《Python密码学编程》,学习下来还蛮有趣的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值