zoukankan      html  css  js  c++  java
  • 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;
    	}
    }
    

      

  • 相关阅读:
    Lightoj---1030
    hdu---2091---空心三角形
    hdu---2037---今年暑假不AC
    将ant Design本地化,可通过link以及script直接引入html中使用
    js 解析json
    解决ant Design dva ajax跨越请求 (status=0)
    ubantu 14.04中安装npm+node.js+react antd
    ubantu中搭建virtualenv+python3.4+flask
    Linux ubantu中安装虚拟/使用环境virtualenv以及python flask框架
    页面中去除浮动 clear:both
  • 原文地址:https://www.cnblogs.com/Mwsoft/p/4332441.html
Copyright © 2011-2022 走看看