Python:AES+Base64的加密与解密(ECB模式)

本文详细介绍了如何使用AES(ECB模式)加密和解密,涉及pkcs7padding填充明文、Base64编码以及密钥和密文的处理技巧。通过示例展示了如何对字符串进行加密并解密操作。

本篇记录使用 AES(ECB模式)+Base64 如何进行加密与解密

函数名称 函数使用注意事项
pkcs7padding() 该方法主要用于对需要加密的明文处理
因为明文 text 也必须为16字节或者16字节的倍数的字节型数据
计算需要填充的字符数量并与明文拼接,从而得到符合加密规则的明文数据
AES_Encryption() 该方法需要传入 密钥secret_key、明文text
其中密钥长度和明文长度需要满足16的倍数,但一般密钥规则都是16位
所以方法中传递的明文text需要调用 pkcs7padding()方法进行填充处理
AES_Decrypt() 该方法需要传入 密钥secret_key、密文ciphertext
其中密文 ciphertext 的长度要求为3的倍数
因为Base64编码后的字符除了英文字母和数字外还有三个字符’ + / =‘
其中’='只是为了补全编码后的字符数,所以可以用于密文填充处理

示例代码如下:

# -*- coding: utf-8 -*- 
# @Desc      :  AES加密、解密方法
# -*- -*- -*- -*- -*- -*-
import base64
from Crypto.Cipher import AES

def pkcs7padding(text):
    """明文使用PKCS7填充,padding:凑篇幅的文字 """

    # 明文 text 也必须为16字节或者16字节的倍数的字节型数据
    need_size = 16

    # 获取明文的长度
    text_length = len(text)

    # 获取明文编码转换后的字符长度
    bytes_length = len(text.encode('utf-8'
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值