美文网首页菜鸟
Python AES_ECB_PKCS5加密代码

Python AES_ECB_PKCS5加密代码

作者: 慢慢慢慢热 | 来源:发表于2018-01-11 15:54 被阅读619次
#!/usr/bin/env python
# coding=utf-8

# Created by slowchen on 2018/1/10 13:48.

import base64
import re

from Crypto.Cipher import AES


class AESECB:
    def __init__(self, key):
        self.key = key
        self.mode = AES.MODE_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
        try:
            crypt = generator.encrypt(self.PADDING(text))
            crypted_str = base64.b64encode(crypt)
            result = crypted_str.decode()
        except Exception:
            result = '加密失败,请确认输入是否有误!'
        return result
    
    def decrypt(self, text):
        generator = AES.new(self.key, self.mode)  # ECB模式无需向量iv
        text += (len(text) % 4) * '='
        try:
            decrpyt_bytes = base64.b64decode(text)
            meg = generator.decrypt(decrpyt_bytes)
            # 去除解码后的非法字符
            result = re.compile('[\\x00-\\x08\\x0b-\\x0c\\x0e-\\x1f\n\r\t]').sub('', meg.decode())
        except Exception:
            result = '解密失败,请确认输入是否有误!'
        return result


if __name__ == '__main__':
    aes = AESECB('this is aes key!')
    print(aes.encrypt('牛'))
    print(aes.encrypt('pythonaes123456'))
    print(aes.decrypt('bvN4eERKQBOSXu5EpZ+rBw=='))
    print(aes.decrypt('yzm34N/bEY8kVJNeS93Gv1svJI77YPjaK1+mW+/A4FY='))  # python is very good

相关文章

  • Python AES_ECB_PKCS5加密代码

  • Idea python运行环境准备

    1.语言比较 2.python代码加密 python代码无法加密,发布代码即为源码 3.版本问题 python 2...

  • python 加密代码

    1.compileall Python解释器在执行代码的过程中,会首先生成.pyc文件,然后再解释执行.pyc中的...

  • 2020-03-21

    Python代码混淆器制作 代码混淆我们都知道无非就是把变量改改,该加密的加密运行的时候解密啥的。但是当你...

  • 加密 Python 源代码

    Python 语法简单,使用方便,我们可以使用它快速地编写程序和构建应用。在编写好程序之后,我们必然要进行程序的分...

  • Python代码加密方案

    方案1:使用Pyarmor工具进行加密 PyArmor 是一个用于加密和保护 Python 脚本的工具。它能够在运...

  • python加密

    1.代码加密 由于python设计的初衷是开源的,因此py文件是可以直接看到源码的。但开发商业软件,代码加密保护就...

  • python源代码文件加密

    由于python设计的初衷是开源的,因此py文件是可以直接看到源码的。但开发商业软件,代码加密保护就比较重要了。 ...

  • RSA 加密 和 DH 密钥实现

    任务一用Python或Sage实现RSA算法的加密、解密、签名/验证签名 实验代码 任务二用Python或Sage...

  • Python MD5

    python提供了一个进行hash加密的模块:hashlib 对以上代码的说明:1.首先从python直接导入ha...

网友评论

    本文标题:Python AES_ECB_PKCS5加密代码

    本文链接:https://www.haomeiwen.com/subject/rvqtoxtx.html