博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3 aes加解密
阅读量:5161 次
发布时间:2019-06-13

本文共 8981 字,大约阅读时间需要 29 分钟。

# encoding: utf-8import xlrdimport osimport yamlimport logging.configfrom Crypto.Cipher import AESimport base64def setup_logging(default_path = "log_config.yaml",default_level = logging.INFO,env_key = "LOG_CFG"):    path = default_path    value = os.getenv(env_key,None)    if value:        path = value    if os.path.exists(path):        with open(path,"r") as f:            config = yaml.load(f)            logging.config.dictConfig(config)    else:        logging.basicConfig(level = default_level)def encrypt(text, key, iv):    if type(text) is str:        text = text.encode(encoding='utf-8', errors='strict')    if type(key) is str:        key = key.encode(encoding='utf-8', errors='strict')    if type(iv) is str:        iv = iv.encode(encoding='utf-8', errors='strict')    if len(text) % 16:        text += (chr(16 - len(text) % 16) * (16 - len(text) % 16)).encode(encoding='utf-8', errors='strict')    text = base64.b64encode(s=AES.new(key, mode=AES.MODE_CBC, IV=iv).encrypt(text),                            altchars=None).decode(encoding='utf-8', errors='strict')    return textdef decrypt(cipher_text, key, iv):    if type(key) is str:        key = key.encode(encoding='utf-8', errors='strict')    if type(iv) is str:        iv = iv.encode(encoding='utf-8', errors='strict')    if type(cipher_text) is str:        cipher_text_bytes = base64.b64decode(cipher_text)    #todo aes解密    plaintext_bytes = AES.new(key, mode=AES.MODE_CBC, IV=iv).decrypt(cipher_text_bytes)    #todo 去填充字节    for i in range(1,17):        plaintext_bytes = plaintext_bytes.rstrip(chr(i).encode(encoding='utf-8', errors='strict'))    plaintext = plaintext_bytes.decode(encoding='utf-8', errors='strict')    return plaintextif __name__ == '__main__':    setup_logging()    """    book = xlrd.open_workbook('testdata_1.xlsx')    sheet = book.sheet_by_index(0)  # 根据顺序获取sheet    print(sheet.ncols)  # 获取excel里面有多少列    print(sheet.nrows)  # 获取excel里面有多少行    for i in range(1, sheet.nrows):        user_info_dict = {}        if len(sheet.cell(i, 0).value) > 0:            user_info_dict['name'] = sheet.cell(i, 0).value.strip()            user_info_dict['idcard'] = sheet.cell(i, 1).value.strip()            print(sheet.cell(i, 2).value)            print(sheet.cell(i, 2).ctype)            user_info_dict['phone'] = str(int(sheet.cell(i, 2).value)).strip()            print(user_info_dict)    print(chr(1))    """    for i in range(1,20):        s = 'a'* i        logging.info(('s', s))        mw = encrypt(s,'123456789012345620123456', '1234567890123456')        logging.info(('e',mw))        logging.info(('d',decrypt(mw,'123456789012345620123456', '1234567890123456')))        logging.info('====================')
2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'a')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'iEqJ43muMK0K98y26ZG55A==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'a')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'tXevZVzEJABPQtw9DECgYQ==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', '/I7IfuZDcDaKXZtifDcs5w==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'Alk1FhjAr4JUbb+m+u+F2Q==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'udmP3Tf0/u4RYBMKJPJ0/A==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'PdwwbsFTMHDNUsJMZAeM+A==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'X5sjPFnk30mCHVDVacXjyA==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'n67DCEhkX6Dr0soQVz63zg==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 72 - ('e', 'jmv9NFzbmiWcpd+gOMXFLg==')2018-10-31 08:59:50,153 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaa')2018-10-31 08:59:50,153 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,153 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'N1eeE8sahDhoNxGKhHINcg==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'X5ldc5VOXhEY9mpySsAf8A==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'S2z8gQ/EzVhbhcthz1ILbQ==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'FMNUDHyJxF13BvqT3Iru6g==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'hB6U1AchwgQuYOlwMcmegA==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'N7wIcnTQH5jlRyG6YqAcqA==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'LWlQdN/UTy+opSdVdh/hyw==')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'LWlQdN/UTy+opSdVdh/hyw4zq/Ogqcr8FyuqK/GUqAY=')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'LWlQdN/UTy+opSdVdh/hy1q9voPP4CUk7ON/d/piMPU=')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================2018-10-31 08:59:50,169 - root - INFO - MainThread - 70 - ('s', 'aaaaaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 72 - ('e', 'LWlQdN/UTy+opSdVdh/hy736EUVnpijwTpyfWWP+i0k=')2018-10-31 08:59:50,169 - root - INFO - MainThread - 73 - ('d', 'aaaaaaaaaaaaaaaaaaa')2018-10-31 08:59:50,169 - root - INFO - MainThread - 74 - ====================Process finished with exit code 0

 

转载于:https://www.cnblogs.com/xiaodebing/p/9881006.html

你可能感兴趣的文章
实现字符串反转
查看>>
转载:《TypeScript 中文入门教程》 5、命名空间和模块
查看>>
苹果开发中常用英语单词
查看>>
[USACO 1.4.3]等差数列
查看>>
Shader Overview
查看>>
Reveal 配置与使用
查看>>
Java中反射的学习与理解(一)
查看>>
C语言初学 俩数相除问题
查看>>
B/S和C/S架构的区别
查看>>
[Java] Java record
查看>>
jQuery - 控制元素显示、隐藏、切换、滑动的方法
查看>>
postgresql学习文档
查看>>
Struts2返回JSON数据的具体应用范例
查看>>
js深度克隆对象、数组
查看>>
socket阻塞与非阻塞,同步与异步
查看>>
团队工作第二天
查看>>
System类
查看>>
tableView
查看>>
Happy Great BG-卡精度
查看>>
Xamarin Visual Studio不识别JDK路径
查看>>