/***********************************************************************
Copyright 2006-2007 Ma Bingyao
These sources is free software. Redistributions of source code must
retain the above copyright notice. Redistributions in binary form
must reproduce the above copyright notice. You can redistribute it
freely. You can use it with any free or commercial software.
These sources is distributed in the hope that it will be useful
but WITHOUT ANY WARRANTY. Without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
You may contact the author by:
e-mail: andot@coolcode.cn
*************************************************************************/
#ifdef HAVE_CONFIG_H
#include “config.h“
#endif
#include “php.h“
#if HAVE_XXTEA
#include “php_xxtea.h“
#include “ext/standard/info.h“ /* for phpinfo() functions */
#include “xxtea.h“
/* compiled function list so Zend knows what‘s in this module */
zend_function_entry xxtea_functions[] =
{
ZEND_FE(xxtea_encrypt NULL)
ZEND_FE(xxtea_decrypt NULL)
ZEND_FE(xxtea_info NULL)
{NULL NULL NULL}
};
/* compiled module information */
zend_module_entry xxtea_module_entry =
{
STANDARD_MODULE_HEADER
XXTEA_MODULE_NAME
xxtea_functions
ZEND_MINIT(xxtea)
ZEND_MSHUTDOWN(xxtea)
NULL
NULL
ZEND_MINFO(xxtea)
XXTEA_VERSION
STANDARD_MODULE_PROPERTIES
};
/* implement standard “stub“ routine to introduce ourselves to Zend */
#if defined(COMPILE_DL_XXTEA)
ZEND_GET_MODULE(xxtea)
#endif
static xxtea_long *xxtea_to_long_array(unsigned char *data xxtea_long len int include_length xxtea_long *ret_len) {
xxtea_long i n *result;
n = len >> 2;
n = (((len & 3) == 0) ? n : n + 1);
if (include_length) {
result = (xxtea_long *)emalloc((n + 1) result[n] = len;
*ret_len = n + 1;
} else {
result = (xxtea_long *)emalloc(n *ret_len = n;
}
memset(result 0 n for (i = 0; i result[i >> 2] |= (xxtea_long)data[i] }
return result;
}
static unsigned char *xxtea_to_byte_array(xxtea_long *data xxtea_long len int include_length xxtea_long *ret_len) {
xxtea_long i n m;
unsigned char *result;
n = len if (include_length) {
m = data[len - 1];
if ((m n - 4)) return NULL;
n = m;
}
result = (unsigned char *)emalloc(n + 1);
for (i = 0; i result[i] = (unsigned char)((data[i >> 2] >> ((i & 3) }
result[n] = ‘\0‘;
*ret_len = n;
return result;
}
static unsigned char *php_xxtea_encrypt(unsigned char *data xxtea_long len unsigned char *key xxtea_long *ret_len) {
unsigned char *result;
xxtea_long *v *k v_len k_len;
v = xxtea_to_long_array(data len 1 &v_len);
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-01-05 09:25 Thinkphp带表情的无限评论回复\
文件 210 2015-06-12 07:34 Thinkphp带表情的无限评论回复\.htaccess
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Common\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Common\Common\
文件 294 2016-01-05 08:56 Thinkphp带表情的无限评论回复\Application\Common\Common\function.php
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Common\Conf\
文件 647 2016-01-05 09:09 Thinkphp带表情的无限评论回复\Application\Common\Conf\config.php
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Home\
目录 0 2016-01-05 08:53 Thinkphp带表情的无限评论回复\Application\Home\Common\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Home\Conf\
文件 50 2015-12-16 14:17 Thinkphp带表情的无限评论回复\Application\Home\Conf\config.php
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Home\Controller\
文件 212 2016-01-05 09:04 Thinkphp带表情的无限评论回复\Application\Home\Controller\CommonController.class.php
文件 2230 2016-01-05 09:09 Thinkphp带表情的无限评论回复\Application\Home\Controller\IndexController.class.php
目录 0 2015-12-22 16:15 Thinkphp带表情的无限评论回复\Application\Home\Model\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Home\View\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Home\View\Index\
文件 6310 2016-01-05 09:12 Thinkphp带表情的无限评论回复\Application\Home\View\Index\index.html
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\Cache\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\Cache\Home\
文件 6813 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\Cache\Home\2a94b8bda04ff446dcedd42276fc99ee.php
文件 1652 2016-01-05 09:09 Thinkphp带表情的无限评论回复\Application\Runtime\Cache\Home\e6dbbbc0b8aa70d6e73e43c4229ff0ed.php
目录 0 2015-11-30 14:27 Thinkphp带表情的无限评论回复\Application\Runtime\Data\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\Logs\
目录 0 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\Logs\Home\
文件 62182 2015-11-30 14:54 Thinkphp带表情的无限评论回复\Application\Runtime\Logs\Home\15_11_30.log
文件 7479 2015-12-14 08:19 Thinkphp带表情的无限评论回复\Application\Runtime\Logs\Home\15_12_14.log
文件 36971 2016-01-05 09:24 Thinkphp带表情的无限评论回复\Application\Runtime\Logs\Home\16_01_05.log
目录 0 2015-11-30 14:27 Thinkphp带表情的无限评论回复\Application\Runtime\Temp\
............此处省略570个文件信息