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

标签 php mysql sql encryption 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。如果我需要在代码中添加任何内容?

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

编辑:错误是“未定义的 key_verification”

最佳答案

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

您的示例语句,为了便于阅读而格式化

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

为此,您需要已定义变量 $key_verification,否则您将从 PHP 收到 undefined 消息。

专业提示:使用旧的不安全的 mysql_ API 进行加密就像在 window 上安装昂贵的安全锁,而前门却敞开着。

关于php - 如何使用aes解密php mysql中的加密数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21206976/

相关文章:

php - 尝试使用 PHP 和 mySQL 创建可编辑的 HTML 表,但该表不会更新

python - 将不同日期格式的txt导入MySQL

mysql - 在文件中加载数据并从现有表中获取外键

mysql - 为什么这两种说法会有不同的结果呢?

SQL 执行次数最多的查询?

sql - 同步客户端-服务器数据库

php - 在php中上传大文件

php - 如何找到图像位置

php - 通过 PHP/Apache 编写的文件不支持目录 setgid 位

sql - MySQL WHERE IN - 排序