对称加密AES

AES是一种对称加密算法,其加密和解密使用相同的密钥。AES有ECB和CBC两种模式,ECB不需要偏移量,而CBC需要。在Python中使用AES加密时,需要注意key、text和iv都应为bytes类型,key长度可为16、24或32字节,text长度需为16的倍数,不足时用空格填充,iv则必须是16字节。示例代码展示了如何使用pycryptodome库进行AES加密和解密操作。
摘要由CSDN通过智能技术生成

对称加密指加密密钥和解密密钥使用的是一个

AES包含ECB和CBC。ECB不需要偏移量,CBC需要偏移量

AES三要素:key ,mode(模式),iv(偏移量)

text(要加密的文本)

AES注意点:key,text,iv都是bytes类型

                        key的长度必须为16,或24,或32。

                        text的长度也必须是16的倍数,如果不是,可以用空格‘\0'补齐(循环补齐,对16取余=0)

                        iv偏移量:必须是16字节

在python中的使用:

  1. 安装pip install pycryptodome
  2. from Crypto.Cipher import AES
  3. 创建AES对象,aes=AES.new(key,AES.MODE_CBC,iv)
  4. 密文:en_text=aes.encrypt(text.encode())
  5. 解密:aes.decrypt(en_text).decode()
from Crypto.Cipher import AES

key=b'1111111111111111'
text='abc'
while len(text.encode('utf-8'))%16!=0:
    text += '\0'
print(text)
iv=b'aaaaaaaaaaaaaaaa'
aes=AES.new(key,AES.MODE_CBC,iv)
aes_data=aes.encrypt(text.encode())
print(aes_data)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值