繁体   English   中英

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

[英]how to decrypt the encrypted data in php mysql using aes?

我已经key_idkey_verificationconfirm_keykey_status在我的验证表。

我设法使用AES将key_verification加密到数据库中:

    $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。 如果我需要在代码中添加任何内容?

我是加密技术的新手,希望有人可以帮助我。

编辑:错误是“ undefined key_verification”

您的PHP代码正在尝试使用变量$ key_verification,但似乎未定义。

您的示例语句的格式具有可读性,表示

$sql3= "SELECT AES_DECRYPT (key_verification, '" . 
       $key_verification .
       "') as encrypted from verification";

为此,您需要已经定义的变量$ key_verification,否则您将从PHP获得undefined消息。

专家提示:对旧的不安全的mysql_ API使用加密就像在窗口上放置昂贵的安全锁,同时又将前门敞开一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM