标签:odi info png gen 对称加密 log bsp 需要 amp
工作中常会需要让数据传输前进行加密处理。这次用到的是AES加密。AES加密中,需要注意到坑还是挺多的。对AES也进行了一番了解,发现里面的东西真的是注意的太多了。今天只是整理了一种简单的加密格式,工作中使用肯定是够了,想要了解根深的AES加密还是需要再找些资料学习一下。
首先需要下载python的第三库Crypto:pip install Crypto
#!/usr/bin/env python # -*- coding: utf-8 -*- from Crypto.Cipher import AES import base64 import os BLOCK_SIZE = 16 PADDING = ‘\0‘ #文本补全方式 pad_it = lambda s: s+(16 - len(s)%16)*PADDING key = ‘16bit‘ #key的长度必须为16的倍数 iv = ‘0000000000000000’ #偏移量 #使用aes算法,进行加密解密操作 #为跟java实现同样的编码,注意PADDING符号自定义 #加密 def encrypt_aes(sourceStr): generator = AES.new(key, AES.MODE_CBC, iv) #MODE_CBC为加密模式 crypt = generator.encrypt(pad_it(sourceStr)) cryptedStr = base64.b64encode(crypt) return cryptedStr #解密 def decrypt_aes(cryptedStr): generator = AES.new(key, AES.MODE_CBC, iv) cryptedStr = base64.b64decode(cryptedStr) recovery = generator.decrypt(cryptedStr) decryptedStr = recovery.rstrip(PADDING) return decryptedStr sourceStr = ‘password^*(&( 09-8ADF‘ print encrypt_aes(sourceStr) print decrypt_aes(encrypt_aes(sourceStr))
对应的java加密方式看这里:https://www.cnblogs.com/aguncn/p/6069349.html
下面是AES加密的各个参数对应值
标签:odi info png gen 对称加密 log bsp 需要 amp
原文地址:https://www.cnblogs.com/ppzhang/p/10178926.html