5

PHP コード:

$key = "12345678abcdefgh12345678abcdefgh";
$iv = "12345678abcdefgh";
$plaindata = "This is a test string.";

$enc = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, $key, $plaindata, MCRYPT_MODE_CBC, $iv));

echo($enc);

結果:

QBN0Yue3D9hBrBuD01n5KWG+lv2doMf97cKm/AeusAI=

これを Python でどのように復号化できますか?

4

2 に答える 2

7

このようなことを試してください(PyCryptoがインストールされています)

from Crypto.Cipher import AES
import base64

AES.key_size=128
iv="your iv"
key="your key"
crypt_object=AES.new(key=key,mode=AES.MODE_CBC,IV=iv)

decoded=base64.b64decode(plain) # your ecrypted and encoded text goes here
decrypted=crypt_object.decrypt(decoded)

これにより、デコードされたテキストが表示されますが、サイズが 16 の倍数になるようにバイトが埋め込まれます。

おそらく適切なパディングスキームを決定し、それに応じて後で削除する必要があります

于 2012-05-10T13:27:41.340 に答える
-9

マニュアルを読んでください。かなりよく文書化されています。

data = base64.b64decode('QBN0Yue3D9hBrBuD01n5KWG+lv2doMf97cKm/AeusAI=')
于 2012-05-10T12:54:29.123 に答える