python aes ecb_python代码封装加密

python aes ecb_python代码封装加密前言AES加密的模式有很多种,下面来介绍ECB模式的加密解密importbase64fromCrypto.CipherimportAESclassAESECB:def__init


Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

前言

AES加密的模式有很多种,下面来介绍ECB模式的加密解密

import base64
from Crypto.Cipher import AES


class AESECB:
    def __init__(self, key):
        self.key = key  # 加密密钥
        self.mode = AES.MODE_ECB  # 设置为ECB模式
        self.bs = 16  # block size
        self.PADDING = lambda s: s + (self.bs - len(s) % self.bs) * chr(self.bs - len(s) % self.bs)

    def encrypt(self, text):
        generator = AES.new(self.key, self.mode)  # ECB模式无需向量iv
        crypt = generator.encrypt(self.PADDING(text).encode('utf-8'))
        crypted_str = base64.b64encode(crypt).decode('utf-8')
        return crypted_str

    def decrypt(self, text):
        generator = AES.new(self.key, self.mode)  # ECB模式无需向量iv
        decrpyt_bytes = base64.b64decode(text)
        meg = generator.decrypt(decrpyt_bytes).decode('utf-8')
        return meg[:-ord(meg[-1])]


if __name__ == '__main__':
    aes = AESECB('1234567890abcdef')
    print(aes.encrypt('111111'))
    print(aes.decrypt('rfTzn9WjsDFbK262m0k4xg=='))

结果:

rfTzn9WjsDFbK262m0k4xg==
111111
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/165347.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 如何使vmware虚拟机中的Redflag Linux操作系统能够上网?

    如何使vmware虚拟机中的Redflag Linux操作系统能够上网? 第一种情况:主机使用PPPOE拨号上网方法一:NAT方式1、先关闭虚拟机中的操作系统,回到虚拟机主界面双击主界面右上方的的“Ethernet”,弹出“NetworkAdapter”对话框,选择“NAT”2、启动虚拟机操作系统,设置IP为动态获取,即通过DHCP获得。此时虚拟机中的操作系统用的是主机的IP,主机能够上网,那么虚拟机也能。方法二:Host-only方式1

    2022年8月20日
  • 纯CSS3实现动态火车行驶特效

    上次开完飞机,这次开火车查看效果:http://hovertree.com/texiao/css3/7/效果图:代码如下:转自:http://hovertree.com/h/bjaf/hovertr

    2021年12月22日
  • 编写测试用例的思路_用例测试方法

    编写测试用例的思路_用例测试方法前言用过pytest的小伙伴都知道,pytest的运行方式是非常丰富的,可以说是你想怎么运行怎么运行,想运行哪些运行哪些,那httprunner是否同样可以呢?运行用例的各种方式运行指定路径的用

    2022年8月6日
  • kafka删除topic数据[通俗易懂]

    kafka删除topic数据[通俗易懂]kafka删除topic数据一、概述生产环境中,有一个topic的数据量非常大。这些数据不是非常重要,需要定期清理。要求:默认保持24小时,某些topic需要保留2小时或者6小时二、清除方式主要有3个:1.基于时间2.基于日志大小3.基于日志起始偏移量详情,请参考链接:https://blog.csdn.net/u013256816/article/details/80418297接下来,主要介绍基于时间的清除!kafka版本为:2.11-..

    2022年10月17日
  • 基于视频理解TSM和数据集Kinetics-400的视频行为识别

    基于视频理解TSM和数据集Kinetics-400的视频行为识别这个数据集包括了四百种的人体动作类别,每一种类别都至少有400个视频片段,每个片段都取自不同的Youtube视频,持续大概十秒。数据集的动作类别包括人和物体的交互-比如弹奏乐器;人与人的交互-比如握手。花了好久整理了Kinetics数据集,百度网盘下载地址:…

    2022年6月21日
  • 关于ASP.NET编程中,GridView表格无法执行RenderControl()方法的问题

    关于ASP.NET编程中,GridView表格无法执行RenderControl()方法的问题当GridView表格控件设置了“自动排序”时,其RenderControl()方法运行时会报错。 

    2022年7月20日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号