Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/284.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
如何使用aes对php mysql中的加密数据进行解密?_Php_Mysql_Sql_Encryption_Aes - Fatal编程技术网

如何使用aes对php mysql中的加密数据进行解密?

如何使用aes对php mysql中的加密数据进行解密?,php,mysql,sql,encryption,aes,Php,Mysql,Sql,Encryption,Aes,我的验证表中有密钥id、密钥验证、确认密钥和密钥状态 我设法使用AES将我的密钥验证加密到我的数据库中: $sql2 = "INSERT INTO verification (key_verification, key_status) VALUES ((AES_ENCRYPT('bhadana', '" . $key_verification . "')), '" . $key_status . "')"; 然而,我有问题时,试图解密回来。这是我正在使用的代码: $sql4="SEL

我的验证表中有密钥id、密钥验证、确认密钥和密钥状态

我设法使用AES将我的密钥验证加密到我的数据库中:

    $sql2 = "INSERT INTO verification (key_verification, key_status) VALUES ((AES_ENCRYPT('bhadana', '" . $key_verification . "')), '" . $key_status . "')";
然而,我有问题时,试图解密回来。这是我正在使用的代码:

 $sql4="SELECT * FROM verification WHERE key_verification = AES_ENCRYPT ('bhadana', '" . $key_verification . "')";
 $query4 = mysql_query($sql4) or die ("Error: " . mysql_error());
 $num_rows4 = mysql_num_rows($query4);
 $check4 = mysql_fetch_array($query4);

 $sql3= "SELECT AES_DECRYPT (key_verification, '" . $key_verification . "') as encrypted from verification";
 $query3 = mysql_query($sql3) or die ("Error: " . mysql_error());
 $num_rows3 = mysql_num_rows($query3);
 $check3 = mysql_fetch_array($query3);
我知道SQL是错误的,但我不知道如何加入SQL。如果我需要在代码中添加什么

我是加密新手,希望有人能帮我


编辑:错误是未定义key\u验证

您的PHP代码试图使用变量$key\u验证,但它似乎未定义

您的示例语句为可读性而格式化,如下所示:

$sql3= "SELECT AES_DECRYPT (key_verification, '" . 
       $key_verification .
       "') as encrypted from verification";
为了实现这一点,您需要已经定义了变量$key_verification,否则您将从PHP获得未定义的消息


专业提示:在旧的不安全的mysql API上使用加密就像在你的窗户上加上一把昂贵的安全锁,而你的前门却敞开着。

尝试选择CASTAES(解密密钥)验证'$关键在于验证。”从中加密为CHAR100verification@Mihai它不起作用了。哦,错误是在两个SQL中都没有定义密钥。\u验证。你确定你得到了一个MySQL错误吗?你可能会得到一个PHP错误吗?@OllieJones这就是错误所说的;未定义变量:键\验证已解决错误。但是现在为什么我解密的数据是3;Hj“我不想回到原始数据5437?”?