我的验证表中有key_id
,key_verification
,confirm_key
和key_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”
答案 0 :(得分:0)
您的PHP代码正在尝试使用变量$ key_verification,但它似乎未定义。
为了便于阅读而格式化的示例语句
$sql3= "SELECT AES_DECRYPT (key_verification, '" .
$key_verification .
"') as encrypted from verification";
为此,您需要已定义的变量$ key_verification,否则您将从PHP获取undefined
消息。
专业提示:对旧的不安全的mysql_ API使用加密就像在窗户上放置昂贵的安全锁,同时让前门敞开。