python进阶(23)用Python实现AES_ECB_PKCS5加密

python进阶(23)用Python实现AES_ECB_PKCS5加密前言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/166053.html原文链接:https://javaforall.net

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

相关推荐

  • 游戏 海外推广_手游礼包助手

    游戏 海外推广_手游礼包助手最近,网上正在热烈地讨论起优质游戏版号买卖的“生意经”了。国内手游的这条路,走得越来越不容易,现在正卡在了游戏版号这个瓶颈上,呼吸困难。而且国内的手游市场已经被大型企业比如腾讯和网易等巨头所占据,中小型的游戏厂商的出路在哪里?不用问,他们走上了出海之路!出海之路离不开手游APP的推广和营销,为了把钱花到刀刃上,需要了解怎么提升海外手游APP推广的ROI?我们选择了关于推广海外手游并提升ROI的四…

    2022年10月26日
  • 海量图片存储解决方案

    海量图片存储解决方案当今世界,互联网、大数据应用迅猛发展,物联网、人工智能、云计算技术日新月异,随之而来的是各种企业和个人应用持续不断地产生亿级甚至是百亿级的海量小文件。这些小文件的元数据管理、存储性能以及访问效率等问题因而成为学术界和工业界公认的难题。例如,国内目前最大的电商网站淘宝存储的商品图片超过200亿张,这些文件的平均大小仅为15KB左右,国外著名的社交网站Facebook存储的图片总量更是超…

    2022年7月12日
  • DevStack云计算平台快速搭建

    这学期学校开了一门课,叫云计算平台搭建,用的书是OpenStack,这个是现在比较流行的一个云计算平台,官方对这个平台的解释是OpenStackisacloudoperatingsystemthatcontrolslargepoolsofcompute,storage,andnetworkingresourcesthroughoutadatacenter,al

    2022年4月8日
  • 如何解决混合云组网难题?

    如何解决混合云组网难题?

    2021年6月9日
  • CBOW 更新[通俗易懂]

    CBOW 更新[通俗易懂]代码:importtorchimporttorch.nnasnnimportnumpyasnpdefmake_context_vector(context,word_to_ix):idxs=[word_to_ix[w]forwincontext]returntorch.tensor(idxs,dtype=torch.long)…

    2022年9月3日
  • linux 命令chmod 755的意思[通俗易懂]

    linux 命令chmod 755的意思[通俗易懂]chmod是Linux下设置文件权限的命令,后面的数字表示不同用户或用户组的权限。 一般是三个数字:第一个数字表示文件所有者的权限第二个数字表示与文件所有者同属一个用户组的其他用户的权限第三个数字表示其它用户组的权限。      权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(…

    2022年7月16日

发表回复

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

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