好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

php支持中英文的加密解密类代码 - php类库

php支持中英文的加密解密类代码

本文章分享的这个php加密类是一个可以支持中文和英文的可加密码可解密的php实现类文件,有需要的同学可以参考一下,不过最好把文档编码设置为utf-8.

下面代码保存成MD5Crypt.class.php文件,代码如下:

<?php   class  MD5Crypt {   /**    * Enter description here ...    * @param unknown_type $str    * @return string    */    public  final  static   function  mdsha( $str ) {   $code  =  substr  ( md5 (  $str  ), 10 );   $code  .=  substr  ( sha1 (  $str  ), 0, 28 );   $code  .=  substr  ( md5 (  $str  ), 0, 22 );   $code  .=  substr  ( sha1 (  $str  ), 16 ) . md5 (  $str  );   return  self::chkToken () ?  $code  : null;   }   /**    * Enter description here ...    * @param unknown_type $param    */    private  final  static   function  chkToken() {   return  true;   }   /**    * Enter description here ...    * @param unknown_type $txt    * @param unknown_type $encrypt_key    * @return Ambigous <string, boolean>    */    private  final  static   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 ;   }   /**    * Enter description here ...    * @param unknown_type $txt    * @param unknown_type $key    * @return string    */    public  final  static   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  ++;   }   $_code  = md5 (  $encrypt_key  ) .  base64_encode  ( self::keyED (  $tmp ,  $key  ) ) . md5 (  $encrypt_key  .  $key  );   return  self::chkToken () ?  $_code  : null;   }   /**    * Enter description here ...    * @param unknown_type $txt    * @param unknown_type $key    * @return Ambigous <string, boolean>    */    public  final  static   function  Decrypt( $txt ,  $key ) {   $txt  = self::keyED (  base64_decode  (  substr  (  $txt , 32, - 32 ) ),  $key  );   $tmp  =  "" ;   for ( $i  = 0;  $i  <  strlen  (  $txt  );  $i  ++) {   $md5  =  substr  (  $txt ,  $i , 1 );   $i  ++;   $tmp  .= ( substr  (  $txt ,  $i , 1 ) ^  $md5 );   }  //开源代码phpfensi测试数据   return  self::chkToken () ?  $tmp  : null;   }   /**    * Enter description here ...    * @var unknown_type    */    private   static   $_key  =  'lau' ;   }   ?> 

用法,代码如下:

<?php  //Code Start    define (  'WORKSPACE' ,  '.'  . DIRECTORY_SEPARATOR );   header (  "Content-Type: text/html; charset=utf-8"  );   include_once   'Core/Library/MD5Crypt.class.php' ;   $a  = MD5Crypt::Encrypt (  "A" , 100 );   echo   "EnCode:"  .  $a ,  "<br />" ;   echo   "DeCode:"  . MD5Crypt::Decrypt (  $a , 100 );   ?> 

查看更多关于php支持中英文的加密解密类代码 - php类库的详细内容...

  阅读:52次