![](/img/trans.png)
[英]Decrypt data in php 7.2, which is Encrypted in php 5.6 using AES
[英]how to decrypt the encrypted data in php mysql using aes?
我已经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。 如果我需要在代码中添加任何内容?
我是加密技术的新手,希望有人可以帮助我。
编辑:错误是“ 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.