Расшифровать AES-256-CBC в phpPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Расшифровать AES-256-CBC в php

Сообщение Anonymous »

Я шифрую в Python следующим образом:

Код: Выделить всё

from Crypto.Cipher import AES
from base64 import b64decode, b64encode

BLOCK_SIZE = 16
pad = lambda s: s + (BLOCK_SIZE - len(s.encode()) % BLOCK_SIZE) * chr(BLOCK_SIZE - len(s.encode()) % BLOCK_SIZE)
unpad = lambda s: s[:-ord(s[len(s) - 1:])]

class AESCipher:
def __init__(self, key: str, iv: str):
self.key = key
self.iv = iv

def encrypt(self, text):
text = pad(text).encode()
cipher = AES.new(key=self.key.encode(), mode=AES.MODE_CBC, iv=self.iv.encode())
encrypted_text = cipher.encrypt(text)
enc = b64encode(encrypted_text).decode('utf-8')
return enc

def decrypt(self, encrypted_text):
encrypted_text = b64decode(encrypted_text)
cipher = AES.new(key=self.key.encode(), mode=AES.MODE_CBC, iv=self.iv.encode())
decrypted_text = cipher.decrypt(encrypted_text)
return unpad(decrypted_text).decode('utf-8')

key = '12345hg5bnlg4mtae678900cdy7ta4vy'
iv = '12345hg5bnlg4mtae678900cdy7ta4vy'[:16]
json = '{"email":"[email protected]","password":"secret","firstName":"test","lastName":"test"}'

# Encrypt
cipher = AESCipher(key, iv)

enc = cipher.encrypt(json)

print(enc)
А мне нужно расшифровать на PHP так:

Код: Выделить всё

function encrypt($data, $key) {
$encryptedData = openssl_encrypt($data, 'AES-256-CBC', $key, OPENSSL_ZERO_PADDING, substr($key, 0, 16));
return base64_encode($encryptedData);
}

function decrypt($encryptedData, $key) {
$decryptedData = openssl_decrypt(base64_decode($encryptedData), 'AES-256-CBC', $key, OPENSSL_ZERO_PADDING, substr($key, 0, 16));
return $decryptedData;
}
К сожалению, при расшифровке я получаю пустой результат. Не могли бы вы сказать, где мой баг? У меня нет никаких ошибок, поэтому трудно понять, в чем проблема.
Спасибо

Подробнее здесь: https://stackoverflow.com/questions/788 ... cbc-in-php
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Расшифровать AES-256-CBC в php
    Anonymous » » в форуме Php
    0 Ответы
    23 Просмотры
    Последнее сообщение Anonymous
  • Расшифровать AES-256-CBC в php
    Anonymous » » в форуме Python
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Расшифровать AES-256-CBC в php
    Anonymous » » в форуме Php
    0 Ответы
    14 Просмотры
    Последнее сообщение Anonymous
  • Php openssl_encrypt (aes-256-cbc) к node.js cryptojs.aes.decrypt приводит к пустой строке
    Anonymous » » в форуме Php
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous
  • Aes-256-cbc чувствителен через URL-адрес в PHP
    Гость » » в форуме Php
    0 Ответы
    32 Просмотры
    Последнее сообщение Гость

Вернуться в «Python»