从Python加密到PHP的MCRYPT_RIJNDAEL_256

时间:2018-05-10 11:30:52

标签: php python encryption

我正在向使用

的PHP API发出请求
mcrypt_decrypt(MCRYPT_RIJNDAEL_256, __KEY__, json_encode(__VALUE_OBJECT__), MCRYPT_MODE_ECB);

同时,要加密文本,我目前在Python中使用:

action = json.dumps({'test': 'value'})
action_padded = action + ('\0' * (16 - len(action) % 16))
aes = AES.new(__KEY__, AES.MODE_ECB)
aes.block_size = 256
encrypted = aes.encrypt(action_padded)

现在,如果我尝试通过PHP交互式shell解密它以进行测试,它就会失败(实际的服务调用也是如此),只是打印出一堆乱七八糟的东西。

另外阅读一些关于mcrypt ECB模式的线程是它不需要填充,但我不确定。现在我只做NULL-padding。

值得一提的是,我没有API,我也无法改变它。所以我必须调整PHP使用的内容。

0 个答案:

没有答案