本篇记录使用 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'

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

被折叠的 条评论
为什么被折叠?



