pt1314 发表于 2019-3-13 14:18:54

请问如何把PHP输出内容加密后显示出来呢?

以下是PHP源码
<?php
$type=$_REQUEST["type"];//查询数据关键字
$ym=$_REQUEST["ym"];//起妈
$zm=$_REQUEST["zm"];//显示条数
$conn=mysqli_connect("localhost","s2289380","密码","435000");
// 连接数据库user
if (!$conn) {
    # code...判断链接是否成功
    echo "连接失败!";
    echo mysqli_connect_error();
    exit();
}
mysqli_query($conn,"set names utf8");
// 指定编码格式
$sql="SELECT vod_id,vod_name,vod_pic,vod_area,vod_year FROM `ff41_vod` WHERE `vod_cid` = $type ORDER BY `vod_addtime` DESC limit $ym,$zm";
// sql语句
$result=mysqli_query($conn,$sql);
        while ($row=$result->fetch_assoc())
      {
      echo "<pre>";
print_r($row);
   echo "---";
    }
?>


我的意思就是需要print_r($row);把这个输出内容加密
再就可以通过E4A可以解密。
官网解密的有RC4,DES,Authcode解密 。





我们不一样 发表于 2019-3-13 14:18:55

RC4解密()

test1235 发表于 2019-3-13 14:21:02

添加加密方法进来 网上都有 调用方法就行了

lvsj575 发表于 2019-3-13 17:00:10

RC4解密()
RC4解密()
RC4解密()
RC4解密()

zhouw 发表于 2019-3-13 18:21:50

$pwd = '加密的密码';//RC4加密密码为空则不加密

rc4($pwd,加密的代码)

function rc4($pwd, $data) {
    $cipher = '';
    $key[] = "";
    $box[] = "";
    $pwd_length = strlen($pwd);
    $data_length = strlen($data);
    for ($i = 0; $i < 256; $i++) {
      $key[$i] = ord($pwd[$i % $pwd_length]);
      $box[$i] = $i;
    }
    for ($j = $i = 0; $i < 256; $i++) {
      $j = ($j + $box[$i] + $key[$i]) % 256;
      $tmp = $box[$i];
      $box[$i] = $box[$j];
      $box[$j] = $tmp;
    }
    for ($a = $j = $i = 0; $i < $data_length; $i++) {
      $a = ($a + 1) % 256;
      $j = ($j + $box[$a]) % 256;
      $tmp = $box[$a];
      $box[$a] = $box[$j];
      $box[$j] = $tmp;
      $k = $box[(($box[$a] + $box[$j]) % 256)];
      $cipher .= chr(ord($data[$i]) ^ $k);
    }
    return bin2hex($cipher);
}

pt1314 发表于 2019-3-14 10:23:49

zhouw 发表于 2019-3-13 18:21
$pwd = '加密的密码';//RC4加密密码为空则不加密

rc4($pwd,加密的代码)


可以麻烦你在我上面的源码里直接改好发给我吗?成功一般送分。

pt1314 发表于 2019-3-14 10:24:50

zhouw 发表于 2019-3-13 18:21
$pwd = '加密的密码';//RC4加密密码为空则不加密

rc4($pwd,加密的代码)


我改成这样。不成功。不会PHP。

<?php
$type=$_REQUEST["type"];//查询数据关键字
$ym=$_REQUEST["ym"];//起妈
$zm=$_REQUEST["zm"];//显示条数
$conn=mysqli_connect("localhost","s2289380","密码","435000");

$pwd = '1234567899';//RC4加密密码为空则不加密



function rc4($pwd, $data) {
    $cipher = '';
    $key[] = "";
    $box[] = "";
    $pwd_length = strlen($pwd);
    $data_length = strlen($data);
    for ($i = 0; $i < 256; $i++) {
      $key[$i] = ord($pwd[$i % $pwd_length]);
      $box[$i] = $i;
    }
    for ($j = $i = 0; $i < 256; $i++) {
      $j = ($j + $box[$i] + $key[$i]) % 256;
      $tmp = $box[$i];
      $box[$i] = $box[$j];
      $box[$j] = $tmp;
    }
    for ($a = $j = $i = 0; $i < $data_length; $i++) {
      $a = ($a + 1) % 256;
      $j = ($j + $box[$a]) % 256;
      $tmp = $box[$a];
      $box[$a] = $box[$j];
      $box[$j] = $tmp;
      $k = $box[(($box[$a] + $box[$j]) % 256)];
      $cipher .= chr(ord($data[$i]) ^ $k);
    }
    return bin2hex($cipher);
}


// 连接数据库user
if (!$conn) {
    # code...判断链接是否成功
    echo "连接失败!";
    echo mysqli_connect_error();
    exit();
}
mysqli_query($conn,"set names utf8");
// 指定编码格式
$sql="SELECT vod_id,vod_name,vod_pic,vod_area,vod_year FROM `ff41_vod` WHERE `vod_cid` = $type ORDER BY `vod_addtime` DESC limit $ym,$zm";
// sql语句
$result=mysqli_query($conn,$sql);
        while ($row=$result->fetch_assoc())
      {
      echo "<pre>";


print_r(rc4($pwd,$row));

   echo "---";

    }


?>

hehe1954 发表于 2019-3-14 17:17:53

pt1314 发表于 2019-3-14 10:24
我改成这样。不成功。不会PHP。

这是一个难题对于我这种菜鸟级别的小菜

pt1314 发表于 2019-3-25 10:20:46

zhouw 发表于 2019-3-13 18:21
$pwd = '加密的密码';//RC4加密密码为空则不加密

rc4($pwd,加密的代码)


我需要的是 输出内容加密 。这个 内容 一般为网页源码一个多。
RC4我试过。返回为空。

zhouw 发表于 2019-3-26 12:48:00

pt1314 发表于 2019-3-25 10:20
我需要的是 输出内容加密 。这个 内容 一般为网页源码一个多。
RC4我试过。返回为空。

试一试这样如果不行数据库数据发一下

<?php
$type=$_REQUEST["type"];//查询数据关键字
$ym=$_REQUEST["ym"];//起妈
$zm=$_REQUEST["zm"];//显示条数
$conn=mysqli_connect("localhost","s2289380","密码","435000");

$pwd = '1234567899';//RC4加密密码为空则不加密

// 连接数据库user
if (!$conn) {
    # code...判断链接是否成功
    echo "连接失败!";
    echo mysqli_connect_error();
    exit();
}
mysqli_query($conn,"set names utf8");
// 指定编码格式
$sql="SELECT vod_id,vod_name,vod_pic,vod_area,vod_year FROM `ff41_vod` WHERE `vod_cid` = $type ORDER BY `vod_addtime` DESC limit $ym,$zm";
// sql语句
$result=mysqli_query($conn,$sql);
      while ($row=$result->fetch_assoc())
      {
      echo "<pre>";


print_r($row);

   echo rc4($pwd,$row);

    }

function rc4($pwd, $data) {
    $cipher = '';
    $key[] = "";
    $box[] = "";
    $pwd_length = strlen($pwd);
    $data_length = strlen($data);
    for ($i = 0; $i < 256; $i++) {
      $key[$i] = ord($pwd[$i % $pwd_length]);
      $box[$i] = $i;
    }
    for ($j = $i = 0; $i < 256; $i++) {
      $j = ($j + $box[$i] + $key[$i]) % 256;
      $tmp = $box[$i];
      $box[$i] = $box[$j];
      $box[$j] = $tmp;
    }
    for ($a = $j = $i = 0; $i < $data_length; $i++) {
      $a = ($a + 1) % 256;
      $j = ($j + $box[$a]) % 256;
      $tmp = $box[$a];
      $box[$a] = $box[$j];
      $box[$j] = $tmp;
      $k = $box[(($box[$a] + $box[$j]) % 256)];
      $cipher .= chr(ord($data[$i]) ^ $k);
    }
    return bin2hex($cipher);
}
?>
页: [1] 2
查看完整版本: 请问如何把PHP输出内容加密后显示出来呢?