python 算法库_Crypto算法库详解

安装与使用Crypto 算法库在 python 中最初叫 pycrypto,这个作者有点懒,好几年没有更新,后来就有大佬写了个替代库 pycryptodome。这个库目前只支持 python3,安装也很简单pip install pycryptodome就行了!详细的用法可以看看 官方文档常见对称密码在 Crypto.Cipher 库下,主要有: DES 3DES AES RC4 Salsa20非...
摘要由CSDN通过智能技术生成

安装与使用

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 下的,所以加解密用的都是字节!

使用这个库来加解密特别简单,记住这四步:

导入所需库

from Crypto.Cipher import AES

初始化 key

key = b'this_is_a_key'

实例化加解密对象

aes = AES.new(key,AES.MODE_ECB)

使用实例加解密

text_enc = aes.encrypt(b'helloworld')

from Crypto.Cipher import AES

import base64

key = bytes('this_is_a_key'.ljust(16,' '),encoding='utf8')

aes = AES.new(key,AES.MODE_ECB)

# encrypt

plain_text = bytes('this_is_a_plain'.ljust(16,' '),encoding='utf8')

text_enc = aes.encrypt(plain_text)

text_enc_b64 = base64.b64encode(text_enc)

print(text_enc_b64.decode(encoding='utf8'

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值