Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

<?php /** * * jsencode.php * * @description. Encodes/decodes the string with bit..

Decoded Output download

<?php 
 /** 
 * 
 * jsencode.php 
 * 
 * @description. Encodes/decodes the string with bitwise XOR  
 * @version 1.0  
 * @copyright 2014 Henry ALgus. All rights reserved. 
 * 
 */ 
 
class jsEncode { 
 
	    /** 
	    * Encodes or decodes string according to the key 
	    *  
	    * @access public 
	    * @param mixed $str 
	    * @param mixed $decodeKey 
	    * @return string 
	    */ 
	    public function encodeString($str,$decodeKey) { 
	       $result = ""; 
	       for($i = 0;$i < strlen($str);$i++) { 
	        	$a = $this->_getCharcode($str,$i); 
	        	$b = $a ^ $decodeKey; 
	        	$result .= $this->_fromCharCode($b); 
	       } 
         
	       return $result; 
	    } 
	     
	    /** 
	     * PHP replacement for JavaScript charCodeAt. 
	     *  
	     * @access private 
	     * @param mixed $str 
	     * @param mixed $i 
	     * @return string 
	     */ 
	    private function _getCharcode($str,$i) { 
	         return $this->_uniord(substr($str, $i, 1)); 
	    } 
	     
	    /** 
	     * Gets character from code. 
	     *  
	     * @access private 
	     * @return string 
	     */ 
	    private function _fromCharCode(){ 
	      $output = ''; 
	      $chars = func_get_args(); 
	      foreach($chars as $char){ 
	        $output .= chr((int) $char); 
	      } 
	      return $output; 
	    } 
     
	    /** 
	     * Multi byte ord function. 
	     *  
	     * @access private 
	     * @param mixed $c 
	     * @return mixed 
	     */ 
	    private function _uniord($c) { 
	        $h = ord($c[0]); // change {} to [] 
	        if ($h <= 0x7F) { 
	            return $h; 
	        } else if ($h < 0xC2) { 
	            return false; 
	        } else if ($h <= 0xDF) { 
	            return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F); // change {} to [] 
	        } else if ($h <= 0xEF) { 
	            return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6 | (ord($c[7]) & 0x3F); // change {} to [] 
	        } else if ($h <= 0xF4) { 
	            return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12 | (ord($c[7]) & 0x3F) << 6 | (ord($c[3]) & 0x3F); // change {} to [] 
	        } else { 
	            return false; 
	        } 
	    } 
} 
 ?>

Did this file decode correctly?

Original Code

<?php
 /**
 *
 * jsencode.php
 *
 * @description. Encodes/decodes the string with bitwise XOR 
 * @version 1.0 
 * @copyright 2014 Henry ALgus. All rights reserved.
 *
 */

class jsEncode {

	    /**
	    * Encodes or decodes string according to the key
	    * 
	    * @access public
	    * @param mixed $str
	    * @param mixed $decodeKey
	    * @return string
	    */
	    public function encodeString($str,$decodeKey) {
	       $result = "";
	       for($i = 0;$i < strlen($str);$i++) {
	        	$a = $this->_getCharcode($str,$i);
	        	$b = $a ^ $decodeKey;
	        	$result .= $this->_fromCharCode($b);
	       }
        
	       return $result;
	    }
	    
	    /**
	     * PHP replacement for JavaScript charCodeAt.
	     * 
	     * @access private
	     * @param mixed $str
	     * @param mixed $i
	     * @return string
	     */
	    private function _getCharcode($str,$i) {
	         return $this->_uniord(substr($str, $i, 1));
	    }
	    
	    /**
	     * Gets character from code.
	     * 
	     * @access private
	     * @return string
	     */
	    private function _fromCharCode(){
	      $output = '';
	      $chars = func_get_args();
	      foreach($chars as $char){
	        $output .= chr((int) $char);
	      }
	      return $output;
	    }
    
	    /**
	     * Multi byte ord function.
	     * 
	     * @access private
	     * @param mixed $c
	     * @return mixed
	     */
	    private function _uniord($c) {
	        $h = ord($c[0]); // change {} to []
	        if ($h <= 0x7F) {
	            return $h;
	        } else if ($h < 0xC2) {
	            return false;
	        } else if ($h <= 0xDF) {
	            return ($h & 0x1F) << 6 | (ord($c[1]) & 0x3F); // change {} to []
	        } else if ($h <= 0xEF) {
	            return ($h & 0x0F) << 12 | (ord($c[1]) & 0x3F) << 6 | (ord($c[7]) & 0x3F); // change {} to []
	        } else if ($h <= 0xF4) {
	            return ($h & 0x0F) << 18 | (ord($c[1]) & 0x3F) << 12 | (ord($c[7]) & 0x3F) << 6 | (ord($c[3]) & 0x3F); // change {} to []
	        } else {
	            return false;
	        }
	    }
}

Function Calls

None

Variables

None

Stats

MD5 a4c0f71d8d1025e2bde39094c91c5107
Eval Count 0
Decode Time 48 ms