【发布时间】:2020-06-19 18:39:03
【问题描述】:
我在解密使用 openssl 加密的字符串时遇到了一些问题。我无权更改加密代码,但我有读取权限:
加密代码(无法修改)
<?php
$key = hex2bin("24a5d2b96b9aee2fb515c94fb36da508");
$encryptTxt = openssl_encrypt(
"txt to encrypt",
'AES-128-ECB',
$key
);
?>
<a href="decrypt.php?un=<?php echo bin2hex(base64_decode($encryptTxt)) ?>">link</a>
这是我尝试解密的方式:
decrypt.php
$ciphertext = $_GET['un'];
$cipher = "aes-128-ecb";
$key = hex2bin("24a5d2b96b9aee2fb515c94fb36da508");
$original_plaintext = openssl_decrypt($ciphertext, $cipher, $key);
echo "text= " . $original_plaintext;
解密页面不返回解密后的文本
【问题讨论】:
-
为我工作。听起来 WSOD 掩盖了实际错误。 stackoverflow.com/questions/845021/…
-
ECB 也是一种非常糟糕的密码模式。请参阅此 wiki 部分底部的图片:en.wikipedia.org/wiki/…
-
@Sammitch 当您说它对您有用时,您的意思是它实际解密还是您看到错误?如果需要,我会看看我的错误报告是否需要一些调整
-
@Sammitch 回复:欧洲央行,我听到了,感谢您提供的链接 - 很好的视觉方式来了解正在发生的事情。幸运的是,传递的数据并不敏感,这更像是我正在处理的表面情况
标签: php encryption openssl