求一个PHP函数的Python版本
function _authcode($string, $operation = 'DECODE', $key = '', $expiry = 0) {
$ckey_length = 4;
$key = md5($key ? $key : UC_KEY);
$keya = md5(substr($key, 0, 16));
$keyb = md5(substr($key, 16, 16));
$keyc = $ckey_length ? ($operation == 'DECODE' ? substr($string, 0, $ckey_length): substr(md5(microtime()), -$ckey_length)) : '';
$cryptkey = $keya.md5($keya.$keyc);
$key_length = strlen($cryptkey);
$string = $operation == 'DECODE' ? base64_decode(substr($string, $ckey_length)) : sprintf('%010d', $expiry ? $expiry + time() : 0).substr(md5($string.$keyb), 0, 16).$string;
$string_length = strlen($string);
$result = '';
$box = range(0, 255);
$rndkey = array();
for($i = 0; $i <= 255; $i++) {
$rndkey[$i] = ord($cryptkey[$i % $key_length]);
}
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, 10) == 0 || substr($result, 0, 10) - time() > 0) && substr($result, 10, 16) == substr(md5(substr($result, 26).$keyb), 0, 16)) {
return substr($result, 26);
} else {
return '';
}
} else {
return $keyc.str_replace('=', '', base64_encode($result));
}
}相关推荐
LibPFP:LibPFP是Python中Php函数的实现。-开源
适用于PHP程序员的Python库。 LibPFP是Python中Php函数的实现。 是一个通用的免费图书馆。
php的python扩展
2017年8月24日,下载前,请先看有没有新的更新。python作为php扩展
python中实现php的var_dump函数功能
最近在做python的web开发(原谅我的多变,好东西总想都学着。。。node.js也是),不过过程中总遇到些问题,不管是web.py还是django,开发起来确实没用php方便,毕竟存在的时间比较短,很多不完善的地方。 比如我在调试php中最常用的函数,var_dump,在python里找不到合适的替代函数。php中var_dump是一个特别有用的函数,它可以输出任何变量的值,不管你是一个对象还是一个数组,或者只是一个数。它总能用友好的方式输出,我调试的时候经常会需要看某位置的变量信息,调用它就很方便: 但是开发python的时候就没有太好的替代方案。 之前想到repr,但这个函数只是调用
phpy:phPy是一种从Python调用旧版PHP函数的简单方法
P phPy是从Python调用旧版PHP函数的简单方法。 安装 您可以从PyPI安装软件包: $ pip install phpy 要求 phPy使用php5-cli。 您必须使用apt-get或yum安装php5-cli软件包。 $ apt-get install php5-cli $ yum install php 例子 function LegacyPHPFunction ( $ arg1 , $ arg2 , $ arg3 ) { //... original codes... $ result = array ( "foo" => $ arg1 , "bar" => $ arg2 , ); echo json_encode ( $ result ); } from phpy import PHP #php
Python-php2go使用Golang实现PHP的常见内置函数
php2go - 使用Golang实现PHP的常见内置函数。已实现约140多项功能。


