0

嗨,我有一个预订系统,它从 AES 加密数据库中提取数据。在数据库中,邮政编码和目的地是加密的,曾经有一个带有列表输入的旧脚本,所以用户可以在列表中选择他们的目的地,因为目的地列表越来越大,我想做一个用户输入的表单在几个字母中,目的地出现使用ajax自动填充。我遇到的问题是,它的拉动数据是加密的。

第一个预订脚本有这一行要解密

$areafro = mysql_query("select AREA_NO, AES_DECRYPT(POSTCODE, 'qsi') as POSTCODE, AES_DECRYPT(AREA_NM, 'qsi') as AREA_NM from area_mst where AES_DECRYPT(POSTCODE, 'qsi') LIKE '$char%' group by POSTCODE");

这是新的预订脚本代码

if(isset($_GET['areas']) && isset($_GET['letters'])){
$letters = $_GET['letters'];
$letters = preg_replace("/[^a-z0-9 ]/si","",$letters);
$res = mysql_query("select POSTCODE,AREA_NM from area_mst where (POSTCODE like '".$letters."1' or AREA_NM like '".$letters."1') order by AREATYPE") or die(mysql_error();

while($inf = mysql_fetch_array($res)){
    if($inf["POSTCODE"]!='')
    {
    echo $inf["POSTCODE"]."-".$inf["AREA_NM"]."|";
    }
    else
    {
    echo $inf["AREA_NM"]."|";
    }
}       

有人可以帮助我如何解密数据吗?

4

1 回答 1

0

您在后一个代码中的查询不会解密。注意在旧代码中,你有

$areafro = mysql_query("select AREA_NO, AES_DECRYPT(POSTCODE, 'qsi') as POSTCODE,
 AES_DECRYPT(AREA_NM, 'qsi') as AREA_NM from area_mst 
where AES_DECRYPT(POSTCODE, 'qsi') LIKE '$char%' group by POSTCODE");

但在新代码中,您只是在不解密的情况下提取数据。

$res = mysql_query("select POSTCODE,AREA_NM from area_mst 
where (POSTCODE like '".$letters."1' or AREA_NM like '".$letters."1') 
order by AREATYPE")

更改您的新代码以使查询与旧代码中的查询完全相同,

于 2012-05-11T02:29:50.387 回答