首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP AES-128-CBC解码问题?

PHP AES-128-CBC解码问题?
EN

Stack Overflow用户
提问于 2020-06-17 02:47:47
回答 1查看 483关注 0票数 0

我一直在疯狂地试图解码一个加密的AES-128-CBC

加密字符串的第三方的文档。

参数使用AES 128加密,加密码锁,PKCS-7填充.解密算法应该用一个16字节的零填充初始化向量初始化,并且应该使用您的加密密钥(可以在PayWay网购购物车设置的安全页面上找到)。

示例加密参数: =QzFtdn0%2B66KJV5L8ihbr6ofdmrkEQwqMXI3ayF7UpVlRheR7r5fA6 IqBszeKFoGSyR7c7J4YsXgaOergu5SWD%2FvL%2FzPSrZER9BS7mZGckriBrhYt%2FKMAbTSS8F XR72gWJZsul9aGyGbFripp7XxE9NQHVMWCko0NlpWe7oZ0RBIgNpIZ3JojAfX7b1j%2F5ACJ79S VeOIK80layBwCmIPOpB%2B%2BNI6krE0wekvkkLKF7CXilj5qITvmv%2FpMqwVDchv%2FUNMfCi 4uUA4igHGhaZDQcV8U%2BcYRO8dv%2FnqVbAjkNwBqxqN3UPNFz0Tt76%2BP7H48PDpU23c61eM 7mx%2FZh%2Few5Pd0WkiCwZVkSZoov97BWdnMIw5tOAiqHvAR3%2BnfmGsx

示例加密密钥: D5cD2CaHd3zfG3C5Apaeyc==

我尝试使用的代码:

代码语言:javascript
复制
$encryptedText = '=QzFtdn0%2B66KJV5L8ihbr6ofdmrkEQwqMXI3ayF7UpVlRheR7r5fA6
IqBszeKFoGSyR7c7J4YsXgaOergu5SWD%2FvL%2FzPSrZER9BS7mZGckriBrhYt%2FKMAbTSS8F
XR72gWJZsul9aGyGbFripp7XxE9NQHVMWCko0NlpWe7oZ0RBIgNpIZ3JojAfX7b1j%2F5ACJ79S
VeOIK80layBwCmIPOpB%2B%2BNI6krE0wekvkkLKF7CXilj5qITvmv%2FpMqwVDchv%2FUNMfCi
4uUA4igHGhaZDQcV8U%2BcYRO8dv%2FnqVbAjkNwBqxqN3UPNFz0Tt76%2BP7H48PDpU23c61eM
7mx%2FZh%2Few5Pd0WkiCwZVkSZoov97BWdnMIw5tOAiqHvAR3%2BnfmGsx';

$password = 'D5cD2CaHd3zfG3C5Apaeyc=='
$method = 'AES-128-CBC';
$iv = substr($password, 0, 16); 

$result = openssl_decrypt($encrypted, $method, $password, OPENSSL_ZERO_PADDING, $iv);

return $result;

这个确切的代码不能工作,因为密码是合成的。但这基本上是我得到的结果:

代码语言:javascript
复制
hóuR█\f\x04}wù8¨Ø½5\x02|¹ä\x16;┐¸F;Ã=·Íû\x1A¿┴ô`\x05\x08■▓¡¢|Ù_i=æëÔJ▀ß+Ñc"1ÝÒSÑî²ÚMã\x18°FÅcÃj>│└\x0E¦ï\eêÅZ\fÜ║õê6GC╬Íþ╚ɤ?\x11-P^╔öT\x10ÖÈ│,╬¤┼¹op5±órj\x7F\x1D\x10NTªh«@\fÖÚú┤▓╗L┤¼╬1Ç¥æ³\x1Ci R\x1DA8u¥MÀ\x019rmÚ§/~X╔¹\x12]]øÓ PÕopÁ]s‗ \x15Ú$\x0Eo\e\x0F┌äËXû>ÃRr}úýáÞz\x13(Õü\x13╦│\eÿB$ËÁO]¹å‗ÔÓm┴´¦╠`3\x17lPób¼\x15þz\x17/B╝+ÈØ¾´■,8\x1AAÚöÍá}░TFxÛR)[x?k░%z\fWPÉ-┐üð┬kÜÅr┘.ÔkÅ@^QXiH±¡wö!N

非UTF-8弦.我不知道我做错了什么..。是$iv错了吗?在这里疯了。

EN

回答 1

Stack Overflow用户

发布于 2020-06-17 03:00:06

解决方案是在尝试解密之前先对密码/秘密密钥进行base64解码。

因此,解决办法:

代码语言:javascript
复制
$encryptedText = '=QzFtdn0%2B66KJV5L8ihbr6ofdmrkEQwqMXI3ayF7UpVlRheR7r5fA6
IqBszeKFoGSyR7c7J4YsXgaOergu5SWD%2FvL%2FzPSrZER9BS7mZGckriBrhYt%2FKMAbTSS8F
XR72gWJZsul9aGyGbFripp7XxE9NQHVMWCko0NlpWe7oZ0RBIgNpIZ3JojAfX7b1j%2F5ACJ79S
VeOIK80layBwCmIPOpB%2B%2BNI6krE0wekvkkLKF7CXilj5qITvmv%2FpMqwVDchv%2FUNMfCi
4uUA4igHGhaZDQcV8U%2BcYRO8dv%2FnqVbAjkNwBqxqN3UPNFz0Tt76%2BP7H48PDpU23c61eM
7mx%2FZh%2Few5Pd0WkiCwZVkSZoov97BWdnMIw5tOAiqHvAR3%2BnfmGsx';

$password = 'D5cD2CaHd3zfG3C5Apaeyc=='
$method = 'AES-128-CBC';
$iv = "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0";

$result = openssl_decrypt($encrypted, $method, base64_decode($password), OPENSSL_ZERO_PADDING, $iv);

return $result;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62420675

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档