Ruby解密PHP加密文本

Ruby解密PHP加密文本,ruby,encryption,Ruby,Encryption,我想用Ruby来解密用PHP加密的字符串。同样的解密逻辑也适用于PHP,但Ruby代码返回垃圾 工作PHP示例: 无法正常工作的Ruby示例: 需要openssl 需要消化 需要uri 需要base64 data=Base64.decode64T353/S48IKZAF61B2DQUOTYA4XJYE8SCBI33HFP6IQOSQZEIWEQBCSVY97XWJMPD8RWLG4J0WGX9IHLTI1VMAR+5NRLRCR4LAFZCOJOBOBT1JVNDAOJLW+Y0S0Y5C4GC

我想用Ruby来解密用PHP加密的字符串。同样的解密逻辑也适用于PHP,但Ruby代码返回垃圾

工作PHP示例:

无法正常工作的Ruby示例:

需要openssl 需要消化 需要uri 需要base64 data=Base64.decode64T353/S48IKZAF61B2DQUOTYA4XJYE8SCBI33HFP6IQOSQZEIWEQBCSVY97XWJMPD8RWLG4J0WGX9IHLTI1VMAR+5NRLRCR4LAFZCOJOBOBT1JVNDAOJLW+Y0S0Y5C4GCDB8YRHZJ4J70DG3YX8DXE= key=Base64.decode64'uuxjipskmboqdtm6y4rpexee9takuns' iv=Base64.decode64'PiToVoRjwlg8UwxUxQKI4w=' aes=OpenSSL::Cipher.new'aes-128-ECB' 解密 aes.padding=0 aes.key=key aes.iv=iv 普通=aes.updatedata+aes.final 明白
有人能解释一下吗?谢谢。

这里的一切都是正确的。但是 在您的示例中有必要使用AES-256-ECB

以下代码为:

解密后,我得到以下信息:

=> "date_add|2015-01-28 01:36:17\xC2\xA4id_lang|1\xC2\xA4id_currency|1\xC2\xA4id_guest|12165\xC2\xA4id_connections|10668\xC2\xA4checksum|4033315172\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
下一个。在本例中,如果没有零填充,校验和的最后一个字符将被截断。如果可能,不要使用EBC模式。这就是原因

最后,在这个例子中你不需要静脉注射。
祝你好运

为什么在Ruby版本中对密钥和iv运行base64解码,而不是在PHP版本中运行?Genius!但我可以问一下为什么使用AES-256-ECB是Ruby的例子吗?@云中有关于这方面的好读物:--
=> "date_add|2015-01-28 01:36:17\xC2\xA4id_lang|1\xC2\xA4id_currency|1\xC2\xA4id_guest|12165\xC2\xA4id_connections|10668\xC2\xA4checksum|4033315172\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"