• PHP 简单的加密解密算法


    <?php
    /**
     * 
     * @创建时间:2015-3-12 下午2:07:33
     * @作者:YuMing
     * @描述:异或加密解密类
     */
    class Yihuo extends CI_Controller {
    
    	//加密秘钥
    	public $key0 = '123456';
    	
    	function __construct() {
    		parent::__construct ();
    		header ( "Content-type:text/html;charset=utf-8" );
    	}
    	
    	public function  index(){
    		$this->load->view('templates/header');
    		$this->load->view('yihuo');
    		$this->load->view('templates/footer');
    	}
    	
    	/**
    	 * 
    	 * @创建时间:2015-3-12 下午2:06:47
    	 * @作者:YuMing
    	 * @描述:异或加密
    	 * @param string $str
    	 * @return string
    	 */	
    	public function encode($str = '') {
    		
    		$data = $this->input->post();
    		if(!empty($data['msg'])){
    			$str =$data['msg'];		
    		}
    		$keyBytes = $this->getBytes ( $this->key0 );
    		$bytes = $this->getBytes ( $str );
    		for($i = 0; $i < count ( $bytes ); $i ++) {
    			foreach ( $keyBytes as $keyBytes0 ) {
    				$bytes [$i] = $bytes [$i] ^ $keyBytes0;
    			}
    		}
    		
    		$encode_str= $this->toStr ( $bytes );
    		
    		echo $encode_str;
    		return $encode_str;
    	}
    	/**
    	 * 
    	 * @创建时间:2015-3-12 下午2:06:35
    	 * @作者:YuMing
    	 * @描述:异或解密
    	 * @param unknown $str
    	 * @return string
    	 */
    	public function decode($str ='') {
    		$data = $this->input->post();
    		if(!empty($data['msg'])){
    			$str =$data['msg'];
    		}
    		
    		$keyBytes = $this->getBytes ( $this->key0 );		
    		$bytes = $this->getBytes ( $str );
    		for($i = 0; $i < count ( $bytes ); $i ++) {
    			foreach ( $keyBytes as $keyBytes0 ) {
    				$bytes[$i] = $bytes [$i] ^ $keyBytes0;
    			}
    		}
    		$decode_str= $this->toStr ( $bytes );
    		echo $decode_str;
    		return $decode_str;
    	}
    	/**
    	 * 
    	 * @创建时间:2015-3-12 下午2:05:59
    	 * @作者:YuMing
    	 * @描述:将Bytes数组转换为String
    	 * @param unknown $bytes
    	 * @return string
    	 */
    	public static function toStr($bytes) {
    		$str = '';
    		foreach ( $bytes as $ch ) {
    			$str .= chr ( $ch );
    		}
    		return $str;
    	}
    	/**
    	 * 
    	 * @创建时间:2015-3-12 下午2:06:18
    	 * @作者:YuMing
    	 * @描述:将String转换为Bytes数组
    	 * @param unknown $string
    	 * @return multitype:number
    	 */
    	public static function getBytes($string) {
    		$bytes = array ();
    		for($i = 0; $i < strlen ( $string ); $i ++) {
    			$bytes [] = ord ( $string [$i] );
    		}
    		return $bytes;
    	}
    }
    

      

  • 相关阅读:
    oracle闪回查询
    带搜索框的jQuery下拉框插件
    Eclipse、Tomcat、Spring3等使用过程的一些配置、错误等的总结记录
    局域网不能访问本机IIS网站的解决方法
    在同一台电脑部署多个Tomcat服务
    Tomcat重启脚本
    IE8下面parseInt('08')、parseInt('09')会转成0
    [转]Examining Open vSwitch Traffic Patterns
    [转]Ubuntu Precise
    [转] iptables
  • 原文地址:https://www.cnblogs.com/Mwsoft/p/4332441.html
Copyright © 2020-2023  润新知