如何使用aes对php mysql中的加密数据进行解密?
我的验证表中有密钥id、密钥验证、确认密钥和密钥状态 我设法使用AES将我的密钥验证加密到我的数据库中:如何使用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
$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?”?