base64php加密,php文件base64加密与解密

有一些PHP系统为了版权的考虑或者想隐藏一些代码都会把代码进行加密,今天主要说一下最常见的base64_code加密和解密

加密

string base64_encode ( string $data )

使用 base64 对 data 进行编码。

设计此种编码是为了使二进制数据可以通过非纯 8-bit 的传输层传输,例如电子邮件的主体。

Base64-encoded 数据要比原始数据多占用 33% 左右的空间。

解密

string base64_decode ( string $data [, bool $strict = false ] )

对 base64 编码的 data 进行解码。

参数

data  —  编码过的数据。

strict  —  如果输入的数据超出了 base64 字母表,则返回 FALSE。

用base64进行加密时经常会用urlencode来同时使用,比如:

$url = "http://www.7dwww.com七维网络";

$c_url = urlencode($url);

$jm_url = base64_encode(urlencode($url));

echo $url."
";

//输出 http://www.7dwww.com七维网络

echo $c_url."
";

//输出 http%3A%2F%2Fwww.7dwww.com%E4%B8%83%E7%BB%B4%E7%BD%91%E7%BB%9C

echo $jm_url."
";

//输出 aHR0cCUzQSUyRiUyRnd3dy43ZHd3dy5jb20lRTQlQjglODMlRTclQkIlQjQlRTclQkQlOTElRTclQkIlOUM=

urlencode先对特殊字符和汉字进行一次转换,再用base64再次加密。

因为加密之后的代码是无法运行的,所以要想让加密之后的代码能够运行,就需要先进行解密。

我们经常会看到的eval(base64_decode(“加密之后的代码”))就是运行的方式,如果只是一次加密我们只需要把eval改成echo或者exit就可以让源代码显示出来。

在实际的应用中还会用到混淆,多层加密,让你解密更加的麻烦。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PHP的`pack`函数是一个二进制数据打包函数,用于把数据按指定格式转换成二进制字符串。它并不是一个加密函数,不能直接用于加密源码文件。 如果你需要对PHP源码文件进行加密,可以使用一些第三方工具或者自己编写加密脚本实现。以下是一个简单的PHP源码加密示例: ```php <?php // 加密函数 function encrypt($data, $key){ $encrypted_data = openssl_encrypt($data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $key); return base64_encode($encrypted_data); } // 解密函数 function decrypt($data, $key){ $encrypted_data = base64_decode($data); return openssl_decrypt($encrypted_data, 'AES-128-CBC', $key, OPENSSL_RAW_DATA, $key); } // 加密源码文件 $source_file = 'test.php'; $encrypted_file = 'test_encrypted.php'; $key = 'my_secret_key'; $data = file_get_contents($source_file); $encrypted_data = encrypt($data, $key); file_put_contents($encrypted_file, '<?php /* Encrypted */ ?>' . $encrypted_data); // 解密源码文件 $encrypted_data = substr(file_get_contents($encrypted_file), 19); // 去除 '<?php /* Encrypted */ ?>' $data = decrypt($encrypted_data, $key); file_put_contents($source_file, $data); ``` 这个示例使用了AES-128-CBC加密算法对源码文件进行加密,并使用一个密钥作为加密参数。加密后的数据通过Base64编码后存储到文件中,解密时则需要先解码再使用相同的密钥进行解密。请注意,这种简单的加密方式并不足以保证源码的安全性,仅供学习和参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值