PHP对字符串的加密解密函数示例代码

分类:PHP_Python| 发布:佚名| 查看:307 | 发表时间:2014/10/28
代码如下:
01<?php
02/**
03*功能:对字符串进行加密处理
04*参数一:需要加密的内容@camnpr
05*参数二:密钥
06*/
07function passport_encrypt($str,$key){ //加密函数
08    srand((double)microtime() * 1000000);
09    $encrypt_key=md5(rand(0, 32000));
10    $ctr=0;
11    $tmp='';
12    for($i=0;$i<strlen($str);$i++){
13        $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
14        $tmp.=$encrypt_key[$ctr].($str[$i] ^ $encrypt_key[$ctr++]);
15    }
16    return base64_encode(passport_key($tmp,$key));
17}
18 /**
19*功能:对字符串进行解密处理
20*参数一:需要解密的密文@郑州网建
21*参数二:密钥
22*/
23function passport_decrypt($str,$key){ //解密函数
24    $str=passport_key(base64_decode($str),$key);
25    $tmp='';
26    for($i=0;$i<strlen($str);$i++){
27        $md5=$str[$i];
28        $tmp.=$str[++$i] ^ $md5;
29    }
30    return $tmp;
31}
32 /**
33*辅助函数
34*/
35function passport_key($str,$encrypt_key){
36    $encrypt_key=md5($encrypt_key);
37    $ctr=0;
38    $tmp='';
39    for($i=0;$i<strlen($str);$i++){
40        $ctr=$ctr==strlen($encrypt_key)?0:$ctr;
41        $tmp.=$str[$i] ^ $encrypt_key[$ctr++];
42    }
43    return $tmp;
44}
45 
46$str='Author:CAMNPR.COM';
47$key='camnprcom';
48$encrypt=passport_encrypt($str,$key);
49$decrypt=passport_decrypt($encrypt,$key);
50echo '原文:',$str."
51<hr>";
52echo '密文:',$encrypt."
53<hr>";
54echo '译文:',$decrypt."
55<hr>";
56?>
365据说看到好文章不转的人,服务器容易宕机
原创文章如转载,请注明:转载自郑州网建-前端开发 http://camnpr.com/
本文链接:http://camnpr.com/php-python/1694.html