一个php加密方法
2012-11-07 19:17
435 查看
// 加密解密 function authcode($string, $operation, $key = '') { global $_MCFG; $key = md5($key ? $key : $_MCFG['auth_key']); $key_length = strlen($key); $string = $operation == 'DECODE' ? base64_decode($string) : substr(md5($string.$key), 0, 8).$string; $string_length = strlen($string); $rndkey = $box = array(); $result = ''; for($i = 0; $i <= 255; $i++) { $rndkey[$i] = ord($key[$i % $key_length]); $box[$i] = $i; } for($j = $i = 0; $i < 256; $i++) { $j = ($j + $box[$i] + $rndkey[$i]) % 256; $tmp = $box[$i]; $box[$i] = $box[$j]; $box[$j] = $tmp; } for($a = $j = $i = 0; $i < $string_length; $i++) { $a = ($a + 1) % 256; $j = ($j + $box[$a]) % 256; $tmp = $box[$a]; $box[$a] = $box[$j]; $box[$j] = $tmp; $result .= chr(ord($string[$i]) ^ ($box[($box[$a] + $box[$j]) % 256])); } if($operation == 'DECODE') { if(substr($result, 0, 8) == substr(md5(substr($result, 8).$key), 0, 8)) { return substr($result, 8); } else { return ''; } } else { return str_replace('=', '', base64_encode($result)); } }
相关文章推荐
- 一个简单不过却很非常实用的PHP加密字符串方法
- 又一个加密PHP脚本的解码方法
- 又一个php加密和解密的方法
- 又一个加密PHP脚本的解码方法
- 又一个加密PHP脚本的解码方法
- 又一个加密PHP脚本的解码方法
- 关于php中反射类的简单理解:如何拿到一个类的所有方法(public+protected+private)
- 对于php实现soap代理的一个常见问题:Class 'SoapClient' not found in PHP的处理方法
- PHP获取一个字符串中间一部分字符的方法
- 一个很实用的加密解密方法
- PHP如何知道一个类中所有的方法
- php 加密和解密方法
- PHP判断一个gif图片是否为动态图片的方法
- php 获取远程图片的一个方法
- php实现cookie加密的方法
- php求一个网段开始与结束IP地址的方法
- PHP eval加密的破解方法
- php绘制一个扇形的方法
- php求一个网段开始与结束IP地址的方法