python aes ecb_python代码封装加密

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

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • SpringCloud原理–FeignClient

    SpringCloud原理–FeignClient本文介绍SpringCloud的FeignClient的原理。Feign服务调用的工作原理可以总结为以下几个步骤首先通过@EnableFeignCleints注解开启FeignCleint。根据Feign的规则实现接口,添加@FeignCleint注解。程序启动后,会扫描所有有@FeignCleint的类,并将这些信息注入到ioc容器中。注入时从FeignClientFactoryBean.class获取FeignClient当接口的方法被调用时,通过jdk的代理,来生

    2022年9月3日
    2
  • 获取32位模块_uuid多少位

    获取32位模块_uuid多少位UUID.randomUUID().toString().replace("-","");

    2022年8月9日
    4
  • python数字转字符串固定位数_python-将String转换为64位整数映射字符以自定…「建议收藏」

    python数字转字符串固定位数_python-将String转换为64位整数映射字符以自定…「建议收藏」您将4个不同“数字”的字符串解释为数字,因此以4为基数.如果您有一串实际数字,范围为0-3,则可以让int()真正快速地生成一个整数.defseq_to_int(seq,_m=str.maketrans(‘ACGT’,’0123′)):returnint(seq.translate(_m),4)上面的函数使用str.translate()用匹配的数字替换4个字符中的每个字符(我使用静态s…

    2022年9月25日
    0
  • silverlight技巧 获取鼠标滚轮事件 及 判断获取组合键的方法

    silverlight技巧 获取鼠标滚轮事件 及 判断获取组合键的方法

    2021年7月27日
    51
  • 数据建模与数仓建模_数仓建模的几种方式

    数据建模与数仓建模_数仓建模的几种方式数据模型是抽象描述现实世界的**一种工具和方法**,是通过抽象的实体及真实的实体之间**联系的形式**,来表示现实世界中事务的相互关系的一种映射(也就是说模型对应着显示世界的一组关系或者一个事物)在这里,数据模型表现的抽象的是实体和实体之间的关系,**通过对实体和实体之间关系的定义和描述,来表达实际的业务中具体的业务关系**。所以总结下来,数据模型是用来描述数据、组织数据和对数据进行操作,是对现实世界数据特征的描述。其实就像是函数一样,例如给你一批数据让你分析,这个时候最好的方式是能建立一个数学模型

    2025年6月6日
    0
  • strictmode android,Android StrictMode使用「建议收藏」

    strictmode android,Android StrictMode使用「建议收藏」StrictMode是Android提供的一个开发工具,用于检测一些异常的操作,以便开发者进行修复。StrictMode可以监控以下问题,不应该在应用主线程中完成的工作,包括磁盘读写、网络访问等。内存泄露,包括Activity泄露、SQLite泄露、未正确释放的对象等。使能StrictMode通常在Application和Activity的开始处(如onCreate)添加代码使能StrictMod…

    2022年5月2日
    99

发表回复

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

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