php base64_decode 解码方法

<?php
header(‘Content-Type:text/html;charset=utf-8‘);
function encode_file_contents($filename) {
    $type=strtolower(substr(strrchr($filename,‘.‘),1));
    if(‘php‘==$type && is_file($filename) && is_writable($filename)){// 如果是PHP文件 并且可写 则进行压缩编码
        $contents = file_get_contents($filename);// 判断文件是否已经被编码处理
        $pos = strpos($contents,‘powered by arzn QQ:1314778‘);
        if(false === $pos || $pos>100){ // 去除PHP文件注释和空白,减少文件大小
            $contents = php_strip_whitespace($filename);
            // 去除PHP头部和尾部标识
            $headerPos = strpos($contents,‘<?php‘);
            $footerPos = strrpos($contents,‘?>‘);
            $contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
            $encode = base64_encode(gzdeflate($contents));// 开始编码
            $encode = ‘<?php‘."\n eval(gzinflate(base64_decode("."‘".$encode."‘".")));\n\n?>";
            return file_put_contents($filename,$encode);
        }
    }
    return false;
}
//调用函数
$filename=‘1.php‘;
encode_file_contents($filename);
echo "OK,加密完成!"
?>

以上是加密代码

下面是解密代码

<?php
        $Code = ‘这里填写要解密的编码‘; // base64编码
        $File = ‘decoded.php‘;//解码后保存的文件
        $Temp = base64_decode($Code);
        $temp = gzinflate($Temp);
        $FP = fopen($File,"w");
        fwrite($FP,$temp);
        fclose($FP);
        echo "解密成功!";
?>
时间: 2024-11-10 01:10:56

php base64_decode 解码方法的相关文章

base64加密PHP脚本的解码方法

转自:http://yoursunny.com/t/2009/PHP-decode/ PHP是网站服务端最流行的编程语言之一.PHP运行环境本身是开源的,服务器不加载插件时PHP脚本也无法加密.但是,总有人因为商业上的考虑,而将PHP程序通过各种方法进行混淆,使读者很难看到清晰易懂的代码. 然而,PHP运行环境的本质决定了,被混淆.编码的PHP脚本总是有办法恢复成可读的代码的.本文介绍了一种对含有eval和base64_decode的.被加密的PHP的解码方法. 在使用这种方法之前,你应该准备好

使用多字节字符集的跨平台(PC、Android、IOS、WP)编码/解码方法

随着移动端的发展,跨平台已成为通讯架构设计的重要考虑因素,PC.Android.IOS.WP等跨多平台间的数据通讯,必然要解决字符编码/解码的问题. 多字节字符集MBCS不是跨平台的首选字符集,面向跨平台.国际化的推荐字符集肯定是UNICODE. 写VC的人都知道,在以前VC++6.0中默认的字符集是多字节字符集,而VS2005及以后默认的字符集是Unicode,VS2013中默认不再对多字节字符串进行支持. 但对很多较早的服务端项目,依然使用的是多字节字符集,不过使用多字节字符集依然可以实现跨

LeetCode OJ:Decode Ways(解码方法)

A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message containing digits, determine the total number of ways to decode it. For example,Given encoded

javascript——URI的编解码方法

有效的URI(统一资源标示符)是不能包含某些字符的,如空格,所以需要进行编码,编码方法有:encodeURI()和encodeURIComponent(), 对编的码进行解码方法有:decodeURI()和decodeURIComponent(). encodeURI()编的码只能decodeURI()解 encodeURIComponent()编的码只能decodeURIComponent()解, encodeURI():用于编码完整的URI,它不对URI中的特殊字符进行编码:例如冒号.前斜杠

C#中Base64之编码,解码方法

原文:C#中Base64之编码,解码方法 1.base64  to  string string strPath =  "aHR0cDovLzIwMy44MS4yOS40Njo1NTU3L19iYWlkdS9yaW5ncy9taWRpLzIwMDA3MzgwLTE2Lm1pZA==";             byte[] bpath = Convert.FromBase64String(strPath);    strPath = System.Text.ASCIIEncoding.

[LeetCode] Decode Ways 解码方法

A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given an encoded message containing digits, determine the total number of ways to decode it. For example,Given encoded

Leetcode 91. Decode Ways 解码方法(动态规划,字符串处理)

Leetcode 91. Decode Ways 解码方法(动态规划,字符串处理) 题目描述 一条报文包含字母A-Z,使用下面的字母-数字映射进行解码 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给一串包含数字的加密报文,求有多少种解码方式 举个例子,已知报文"12",它可以解码为AB(1 2),也可以是L (12) 所以解码方式有2种. 测试样例 Input: "0" "121212" "1010

[Swift]LeetCode91. 解码方法 | Decode Ways

A message containing letters from A-Z is being encoded to numbers using the following mapping: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 Given a non-empty string containing only digits, determine the total number of ways to decode it. Example 1: Input: &qu

91. 解码方法

题目描述 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数. 示例 1: 输入: "12" 输出: 2 解释: 它可以解码为 "AB"(1 2)或者 "L"(12). 示例 2: 输入: "226" 输出: 3 解释: 它可以解码为 "BZ" (2 26), "