php自定义加密解密实现代码
文章介绍了关于php 自定义加密解密,很多朋友都是用php自带的,我们如果自己写个会怎么样呢,下面看代码.
php 自定义加密解密实现代码如下:
- <?php
- // 说明:PHP 写的加密函数,支持私人密钥
- // 整理:http://www.phpfensi.com
- function keyED($txt,$encrypt_key)
- {
- $encrypt_key = md5($encrypt_key);
- $ctr=0;
- $tmp = "";
- for ($i=0;$i<strlen($txt);$i++)
- {
- if ($ctr==strlen($encrypt_key)) $ctr=0;
- $tmp.= substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1);
- $ctr++;
- }
- return $tmp;
- }
- function encrypt($txt,$key)
- {
- srand((double)microtime()*1000000);
- $encrypt_key = md5(rand(0,32000));
- $ctr=0;
- $tmp = "";
- for ($i=0;$i<strlen($txt);$i++)
- {
- if ($ctr==strlen($encrypt_key)) $ctr=0;
- $tmp.= substr($encrypt_key,$ctr,1) . (substr($txt,$i,1) ^ substr($encrypt_key,$ctr,1));
- $ctr++;
- }
- return keyED($tmp,$key);
- }
- function decrypt($txt,$key)
- {
- $txt = keyED($txt,$key);
- $tmp = "";
- for ($i=0;$i<strlen($txt);$i++)
- {
- $md5 = substr($txt,$i,1);
- $i++;
- $tmp.= (substr($txt,$i,1) ^ $md5);
- }
- return $tmp;
- }
- $key = "YITU.org";
- $string = "我是加密字符";
- // encrypt $string, and store it in $enc_text
- $enc_text = encrypt($string,$key);
- // decrypt the encrypted text $enc_text, and store it in $dec_text
- $dec_text = decrypt($enc_text,$key);
- print "加密的 text : $enc_text <Br> ";
- print "解密的 text : $dec_text <Br> ";
- ?>