本文摘自php中文网,作者不言,侵删。
本篇文章给大家带来的内容是关于Crypto算法库是什么?Crypto算法库的详解,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。安装与使用
Crypto 算法库在 python 中最初叫 pycrypto,这个作者有点懒,好几年没有更新,后来就有大佬写了个替代库 pycryptodome。这个库目前只支持 python3,安装也很简单pip install pycryptodome就行了!详细的用法可以看看 官方文档
常见对称密码在 Crypto.Cipher 库下,主要有:DES 3DES AES RC4 Salsa20
非对称密码在 Crypto.PublicKey 库下,主要有:RSA ECC DSA
哈希密码在 Crypto.Hash 库下,常用的有:MD5 SHA-1 SHA-128 SHA-256
随机数在 Crypto.Random 库下
实用小工具在 Crypto.Util 库下
数字签名在 Crypto.Signature 库下
对称密码AES
注意:python3 和 python2 在字符串方面有个明显的区别 - python3 中有字节串 b'byte',python2 中没有字节
。由于这个库是在 python3 下的,所以加解密用的都是字节!
使用这个库来加解密特别简单,记住这四步:
导入所需库
1 |
|
初始化 key
1 |
|
实例化加解密对象
1 |
|
使用实例加解密
1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
注意:key和明文是需要填充到指定位数的,可以使用ljust或者zfill之类的填充,也可以用Util中的pad()函数填充!
对称密码DES
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
|
非对称密码RSA
这个库的 RSA 主要是用来生成
公钥文件/私钥文件或者读取
公钥文件/私钥文件
生成公/私钥文件:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
|
读取公/私钥文件加解密:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
|
注意:RSA 有两种填充方式,一种是 PKCS1_v1_5,另一种是 PKCS1_OAEP
Hash算法
和 hashlib 库的用法类似,先实例化某个 Hash 算法,再用 update() 调用就可以了!
具体栗子:
1 2 3 4 5 6 7 8 9 |
|
数字签名
发送发用私钥签名,验证方用公钥验证
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
随机数
和 random 库类似。第一个函数很常用
1 2 3 4 5 6 7 |
|
其它功能
常用到 Util 中的pad()
函数来填充密钥
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
|
以上就是Crypto算法库是什么?Crypto算法库的详解的详细内容,更多文章请关注木庄网络博客!!
相关阅读 >>
Python中关于日志(logging模块)的性能以及多进程的全面解析
更多相关阅读请进入《Python》频道 >>

Python编程 从入门到实践 第2版
python入门书籍,非常畅销,超高好评,python官方公认好书。