Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 显示加密的数据库字段_Php_Mysql_Mariadb - Fatal编程技术网

Php 显示加密的数据库字段

Php 显示加密的数据库字段,php,mysql,mariadb,Php,Mysql,Mariadb,我终于完成了早该完成的从PHP5.6到PHP7.3的跳跃,并将mySQL升级到了MariaDB。除了一个应用程序外,所有应用程序似乎都在工作。我不介意尝试修复脚本中的代码,但我希望得到数据转储 其中两个字段已加密。我有salt和加密代码,但我没有能力运行显示编码字段的查询 这是应用程序中的编码功能: function encode($string) { $config = &singleton::get(__NAMESPACE__ . '\config'); $error

我终于完成了早该完成的从PHP5.6到PHP7.3的跳跃,并将mySQL升级到了MariaDB。除了一个应用程序外,所有应用程序似乎都在工作。我不介意尝试修复脚本中的代码,但我希望得到数据转储

其中两个字段已加密。我有salt和加密代码,但我没有能力运行显示编码字段的查询

这是应用程序中的编码功能:

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;
}


有人能帮忙吗?

我们阅读了文档:

mcrypt_加密字符串$cipher,字符串$key,字符串$data,字符串 $mode[,字符串$iv]:字符串

mcrypt_解密字符串$cipher,字符串$key,字符串$data,字符串 $mode[,字符串$iv]:字符串

因此,如果这对其进行加密:

$encrypted=base64_encodemcrypt_encryptMCRYPT_RIJNDAEL_256,md5$key,$string,MCRYPT_MODE_CBC,md5md5$key; 这将有望解密它:

$decrypted=base64_decodemcrypt_decryptMCRYPT_RIJNDAEL_256,md5$密钥,$encrypted,MCRYPT_MODE_CBC,md5md5$密钥;
谢谢大家的建议。与此同时,我采取了一种不同的方法,在Wampserver和hey presto上加载了一个本地PHP5.6实例!应用程序将再次运行


现在,我可以使用剪切粘贴和工作应用程序的奢侈功能提取我需要的信息。虽然不完美,但它可以工作。

完全取决于您对其进行加密的方式。如果它是通过PHP加密的,你需要通过解密算法来运行它。或者加密经常与单向散列混淆,在这种情况下根本不可能解密,相反的是mcrypt_decrypt