【发布时间】:2020-09-29 09:32:26
【问题描述】:
我终于完成了从 PHP 5.6 到 PHP 7.3 的姗姗来迟的跳跃,并将 mySQL 升级到 MariaDB。除了一个应用程序之外,一切似乎都在工作。我不介意尝试修复脚本中的代码,但我很想得到数据的转储。
其中两个字段已加密。我有盐和加密代码,但我不具备能够运行显示编码字段的查询的技能。
这是来自应用程序的编码函数:
function encode($string) {
$config = &singleton::get(__NAMESPACE__ . '\config');
$error = &singleton::get(__NAMESPACE__ . '\error');
$level = $config->get('encryption_level');
$key = $config->get('encryption_key');
switch ($level) {
case 2:
$error->create(array('type' => 'security_error', 'message' => 'Encode function cannot be used for this database security level.'));
break;
default:
$encrypted = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, md5($key), $string, MCRYPT_MODE_CBC, md5(md5($key))));
break;
}
return $encrypted;
}
谁能帮忙?
【问题讨论】:
-
完全取决于你如何加密它。如果它是通过 PHP 加密的,则需要通过该解密算法运行它。
-
或者加密经常与单向哈希混淆,在这种情况下根本不可能“解密”
-
相反的是
mcrypt_decryptphp.net/manual/en/function.mcrypt-decrypt.php