python加密 AES加密解密等同於java AES加密 解密

#!/usr/bin/python
# coding:utf-8
from Crypto.Cipher import AES
from decimal import Decimal
import time
import md5
import base64
import requests
import BiDataCalc
import json
import datetime
import arrow
import sys
import pymysql
reload(sys)
sys.setdefaultencoding('utf-8')

# MD5加密
PADDING = '\0'
pad_it = lambda s: s + (16 - len(s) % 16) * PADDING
key = 'test'
iv = 'test'

# 創建md5對象
AES_KEY = "test"
MD5_KEY = "test"
# 使用aes算法,進行加密解密操作
# 爲跟java實現同樣的編碼,注意PADDING符號自定義
def encrypt_aes(sourceStr):
    generator = AES.new(key, AES.MODE_CBC, iv)
    crypt = generator.encrypt(pad_it(sourceStr))
    crypted = base64.b64encode(crypt)
    return crypted


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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章