您好我有一个预订系统,它从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"]."|";
}
}
有人可以帮我解决如何解密数据吗?
答案 0 :(得分: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")
更改新代码,使查询与旧代码中的查询完全相同,