A-A+
php文件加密
php 文件加密码是老生常谈的了,以前的时候一直在研究 zend5 的加密,后来研究自己通过算法来写 php 的加密代码,都是都经不过高手们的破解,在php上面发布的几个加密函数很容易的就给破解了。
其实还是感觉 zend5 的加密还是比较不错的,虽然现在已经被高手们破解了,而且还有专门破解被 zend5 加密过的代码,其中黑刀就是其中,破解率还是蛮高的,但并不是全部被破解了,其中还原后的代码并不是最原始的代码,只是被机械式的还原了而已,所以我们在写 php 代码时,写得严谨一些,将代码质量提高,有一点 bug便不能运行,这个时候再使用 zend5 进行加密,这样加密起来的代码安全性较高,即使被破解了,程序依然不能运行,除非将不完整的代码补全,不过那需要浪费的时间就很多了,而且一般的懒人也不会去逐行研究代码的,所以这是一个 php 文件加密的一个不错的方式。
除了现在依然坚挺着的 zend5,其它的基本上不堪一击了,当然,php 也自己提供了加密的函数,下面主要推荐的是 php 的 Mcrypt 的加密函数,利用本函数可以进行 php 文件的加密,解密也是非常简单的,主要理解 php 加密解密的原理。
<?php
class Mcrypt
{
/**
* 解密
*
* @param string $encryptedText 已加密字符串
* @param string $key 密钥
* @return string
*/
public static function _decrypt($encryptedText,$key = null)
{
$key = $key === null ? Config::get('secret_key') : $key;
$cryptText = base64_decode($encryptedText);
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
$decryptText = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, $cryptTe
xt, MCRYPT_MODE_ECB, $iv);
return trim($decryptText);
}
/**
* 加密
*
* @param string $plainText 未加密字符串
* @param string $key 密钥
*/
public static function _encrypt($plainText,$key = null)
{
$key = $key === null ? Config::get('secret_key') : $key;
$ivSize = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($ivSize, MCRYPT_RAND);
$encryptText = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $plainTex
t, MCRYPT_MODE_ECB, $iv);
return trim(base64_encode($encryptText));
}
}
?>
<?php
class Cookie extends Mcrypt
{
/**
* 删除cookie
*
* @param array $args
* @return boolean
*/
public static function del($args)
{
$name = $args['name'];
$domain = isset($args['domain']) ? $args['domain'] : null;
return isset($_COOKIE[$name]) ? setcookie($name, '', time() - 8640
0, '/', $domain) : true;
}
/**
* 得到指定cookie的值并解密
*
* @param string $name
*/
public static function get($name)
{
return isset($_COOKIE[$name]) ? parent::_decrypt($_COOKIE[$na
me]) : null;
}
/**
* 设置cookie并加密
*
* @param array $args
* @return boolean
*/
public static function set($args)
{
$name = $args['name'];
$value= parent::_encrypt($args['value']);
$expire = isset($args['expire']) ? $args['expire'] : null;
$path = isset($args['path']) ? $args['path'] : '/';
$domain = isset($args['domain']) ? $args['domain'] : null;
$secure = isset($args['secure']) ? $args['secure'] : 0;
return setcookie($name, $value, $expire, $path, $domain, $secure);
}
}
?>
求站长帮忙解密下
不知道站长能不能帮忙解密下文件
不能复制粘贴 x x
有个php加密文件搞了半天搞不定,不知楼主能帮忙不,可以的话email我下,我发文件给你
可以的。
这是加密文件http://url.cn/W1Vr9A
打开360提示危险网站。
好高级,看不懂。
以前做过java的加密
看不懂,来灌水的
研究下,加密我的源码试试~!
博主是个技术方面的人员吧?写的很专业呢。
博客人气不错啊
看不懂啊,汗
佩服博主,凌晨就开始更新博客了。
后台有定时发布的设置,提前设置好的。
出商业版本的程序的话,加密就很需要了。这个是出精品的程序员必须要研究的!赞!
现在用的是asp的程序,来围观下。
嗯,这个可以有!
加密对任何文件都是必要的
专注php二十年