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)
上一篇 2022年7月31日 下午6:36
下一篇 2022年7月31日 下午6:36


相关推荐

  • java代码大全及详解_史上最全JVM大全详解!java程序员细节到极致的一次,魔鬼…

    java代码大全及详解_史上最全JVM大全详解!java程序员细节到极致的一次,魔鬼…前言作为Java的从业者,在找工作的时候,一定会被问及关于JVM相关的知识。JVM知识的掌握程度,在很多面试官眼里是候选人技术深度的一个重要评判标准。而大多数人可能没有对JVM的实际开发和使用经验,接下来这一系列文章将带你深入了解JVM需要掌握的各个知识点。这也将帮助你完成从初级程序员到高级程序员的转变。由于文章篇幅原因,文末有答案和解析目录线程(详解)JVM内存区域(详解)J…

    2022年7月8日
    94
  • web服务器介绍_常见web服务器

    web服务器介绍_常见web服务器常见Web服务器简介 Web服务器也称为WWW(WORLDWIDEWEB)服务器、HTTP服务器,其主要功能是提供网上信息浏览服务。   Unix和Linux平台下的常用Web服务器有Apache,Nginx,Lighttpd,Tomcat,IBMWebSphere、BEAWeblogic等,其中应用最广泛的是Apache。而WindowsNT/2000/2003平台下最

    2026年1月22日
    3
  • word2vec原理详解及实战

    word2vec原理详解及实战目录1)前言1.1语言模型1.2N-gram模型1.3词向量表示2)预备知识2.1sigmoid函数2.2逻辑回归2.3贝叶斯公式2.4Huffman编码3)神经网络概率语言模型4)基于HierarchialSodtmax模型4.1CBOW模型4.2Skip-gram模型5)基于NegativeSampling的模型5.1如…

    2022年5月16日
    48
  • EasyOCR,识别图片中的文字真的so easy

    EasyOCR,识别图片中的文字真的so easy原文链接 http www juzicode com image ocr python easyocr 桔子菌之前在 pytesseract 提取识别图片中的文字中介绍过怎么在 Python 中使用 tesseract 提取和识别图片中的文字 今天再来聊一聊 EasyOcr 它也是一款非常优秀的 OCR 包 使用起来是相当地 easy 1 安装 easyocr 包这里以 windows 系统为例 需要先安装 pytorch 在 pytorch 官网可以根据语言版本 操作系统等信息找到安装方法 pip3insta

    2026年3月18日
    2
  • [分享]在线的代码片段测试工具 jsbin[通俗易懂]

    [分享]在线的代码片段测试工具 jsbin[通俗易懂]有些时候,我们往往有这样的需求:临时测试一个代码片段,不想打开编辑器来新建一个文件,测试完毕又删除想给别人分享一个代码,html文件,css文件,js文件,打个包?向别人展个某个效果,发个文件过去?把代码部署到自己服务器上面?针对这些需求,我们使用在线的代码片段测试工具,也许来得更加简单和方便了。针对前端的在线代码片段工具很多,比较常见的有jsbin和jsfiddle以及codepen.而我最喜欢的就是jsbin了,它有着更多的特性给我带来了极大的方便:任意控制要展示的窗口点击这些标

    2025年7月31日
    7
  • java indexeddb_indexedDB 基本使用

    java indexeddb_indexedDB 基本使用原标题 indexedDB 基本使用来源 党黎明 自荐投稿 他目前在深圳做前端开发 mr dang github io java 2017 12 09 indexedDB 基本使用 htmlindexedD 简介 indexedDB 是一种使用浏览器存储大量数据的方法 它创造的数据可以被查询 并且可以离线使用 indexedDB 有以下特点 indexedDB 是 WebSQL 数据库的取代品 i

    2026年3月18日
    2

发表回复

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

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