最近的文章列表

php基于mcrypt的加密encrypt解密dencrypt实例

PHP中自带了相当多的加密的方法,这里我们来看一下mcrypt扩展的使用方式。也是在工作中需要用这个东西加密访问用户的Cookie的值,认真的学习了这个方面的内容。

1.简介

Mcrypt是PHP的一个扩展,完成了常用加密算法的封装。其实该扩展是对mcrypt标准类库的封装,mcrypt完成了相当多的常用加密算法,如DES, TripleDES, Blowfish (default), 3-WAY, SAFER-SK64, SAFER-SK128, TWOFISH, TEA, RC2 和 GOST加密算法,并且提供了CBC、OFB、CFB 和 ECB 四种块加密的模型。

2.安装和使用

要使用该扩展,必须首先安装mcrypt标准类库,可以在http://mcrypt.sourceforge.net 下载。该扩展的编译和安装方式和常规的php扩展相同,不在详细说明了。

3.四种块加密模型

Mcrypt支持四种块加密模型,简要说明如下:

2015/5/14 Comments:
PHP优化similar计算字符串相似度的函数similar_text和levenshtein及最长公共子序列LCS()

similar_text()中文汉字版

代码如下:
      <?php  
     //拆分字符串 
     function split_str($str) { 
       preg_match_all("/./u", $str, $arr); 
       return $arr[0]; 
     } 
2015/5/13 Comments:
Linux下PHP安装与配置加速器APC的笔记(附:Windows下安装apc方法)

当前我用的是APC-3.1.9 stable ,可以自己到 http://pecl.php.net/package/APC 下载最新版。

1、安装

代码如下:
wget http://pecl.php.net/get/APC-3.1.9.tgz
tar xzvf APC-3.1.9.tgz
cd APC-3.1.9
/usr/local/php/bin/phpize
2015/5/12 Comments:
Linux下PHP利用FreeTDS访问SQL Server(MSSQL)扩展的安装教程

PHP天然就对MySQL有良好的支持,但是想要用PHP对SQL Server进行操作,则需要花点时间了。今天刚好团队里的一个项目需要用PHP对SQL Server进行操作,遂帮忙配置好环境。

首先说明下,服务器的系统版本为SUSE Linux Enterprise Server 10 SP3。

1. 安装FreeTDS

地址:FreeTDS

代码如下:
wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar zxvf freetds-stable.tgz
2015/5/11 Comments:
Windows下的PHP的go-pear.phar手动安装pear教程

因为需要安装 PHPUnit,要先装 pear,网上的教程大多数是以双击 go-pear.bat 开始,但是我安装的php文件夹里压根没有这个文件。

经过几次搜索之后终于找到了办法,解决步骤如下:

1、下载下面连接的文件至 go-pear.phar

http://pear.php.net/go-pear.phar

该文件最好放到 php 目录下,因为下一步执行后,会产生很多文件夹和文件。

2、执行 php go-pear.phar

Windows 上执行的时候因为有 UAC 的问题所以需要以管理

2015/5/10 Comments:
Visual Studio结合YUI Compressor 在编译任务时压缩js和css文件

如今网站都在说优化,压缩js和css文件就成了最基本的一种方法,js和css压缩有很多方法,很多网站也提供了这样的功能,也可以用YUI提供的包手动压缩,但是这都不效率啊,能不能在vs生成部署包的时候把js和css压缩好呢?当然可以。

首先请下载YUI Compressor,YUI Compressor是个Java库,你需要安装Java的运行环境,请点这里下载。(关于Java环境的配置请大家自行google,另外YUI Compressor是github的链接,应该被墙了,请自备爬梯工具)。

新建一个批处理文件,代码如下:

@echo off
if "%1" == "" goto exit
if "%2" == "" goto exit
pushd "%1"
2015/5/9 Comments:
IOS上传图片/文件的通用方法(含时间戳验证和Sign签名)
 (NSString*) memberUploadavatar:(UIImage *)image {
    NSString *action = @"action=uploadavatar";
    NSString *mainUrl = [self getMainUrl];
    NSString *unixTime = [NSString stringWithFormat:@"timestamp=%ld", (time_t) [[NSDate date] timeIntervalSince1970]];
//    NSString *unixTime = @"timestamp=1429629388";
    NSMutableArray *nameList = [[NSMutableArray alloc] init];
    [nameList addObject:unixTime];
    [nameList addObject:action];
2015/5/8 Comments:
微软推出前端开发神器:Visual Studio Code (VSCode)

目前市场上比较常见的一些GUI编辑器的产品:Sublime、Notepad++、Atom、H5 Builder、Brackets等等,包括终端下的Vim、Emacs等等,都是这个vscode的竞品。

首先明确一下,这个Visual Studio Code(以下简称vscode)是一个带GUI的代码编辑器,也就是只能完成简单的代码编辑功能,并不是一个集成开发环境(IDE)。而Visual Studio、WebStorm这类的开发工具是IDE,功能强大,这两个是不一样的概念。

总结四点特性:


1. 免费
2. 用户体验细节好,IDE版的智能特性
3. 流畅,完全不卡
4. 一个运行于 OS X,Windows 和 Linux 之上的,针对于编写现代web和云应用的跨平台编辑器

2015/5/7 Comments:
PHP单元测试环境PHPUnit(Windows下安装)图文教程

1、按照常规下载 php 的zip包和配置好 php.ini,这里的例子使用的是 E:\php

2、把你的 php 目录加入系统环境变量 path 中

2015/5/6 Comments:
跨域CORS 带Cookie传递,在nodejs + express中的具体实现

CORS(跨来源资源共享协议),高级浏览器(Chrome,firefox, opera, safir, ie10)在 XMLHttpRequest(AJAX) 中已经支持了这个协议。可以实现ajax跨域访问。(其实IE8也实现了,只不过是另外一个对象)

由于是跨来源的的访问,标识HTTP状态的Cookie的使用有一些特别处理。

Server Nodejs 代码

res.setHeader('Access-Control-Allow-Origin', req.headers.origin);//注意这里不能使用 * 
res.setHeader('Access-Control-Allow-Credentials', true);//告诉客户端可以在HTTP请求中带上Cookie
res.setHeader('Access-Control-Allow-Methods', 'POST, GET, PUT, DELETE, OPTIONS');
2015/5/5 Comments: