Home arrow PHP arrow Page 2 - PHP Encryption and Decryption Methods

Base 64 Encoding and Compression/Decompression Techniques - PHP

PHP encryption is a method of obfuscating scripts in such a way that it offers additional protection and prevents unauthorized editing of the scripts. This article discusses both encryption and decryption.

TABLE OF CONTENTS:
  1. PHP Encryption and Decryption Methods
  2. Base 64 Encoding and Compression/Decompression Techniques
  3. PHP Eval Function in Encoding Methods
  4. Case Example: Encoding a Working PHP Script
By: Codex-M
Rating: starstarstarstarstar / 13
November 03, 2009

print this article
SEARCH DEV SHED

TOOLS YOU CAN USE

advertisement

PHP widely supports the base 64 encoding technique because it is ubiquitous in programming and IT practices. If you are interested in learning other applications of base 64 encoding, you can find a number of references.

In PHP, to convert a certain string to Base 64, you use a built-in function, namely base64_encode()

<?php

$string = 'The quick brown fox jumps over the lazy dog';

$base64 =base64_encode($string);

echo $base64;

?>

The above script converts the string “The quick brown fox jumps over the lazy dog” to base 64 format, which is:

VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZw==

Applying the above concept to PHP scripts, we should treat the PHP code as a “string” except for the PHP tags. For example, say you have written a simple PHP script below:

<?php

$sum=5+5;

echo $sum;

?>

To encrypt is to encode only:

$sum=5+5;

echo $sum;

The equivalent base 64 script is:

<?php

$a=base64_encode('$sum=5+5;

echo $sum;');

echo $a;

?>

This will output: JHN1bT01KzU7DQplY2hvICRzdW07

According to the PHP.net page: http://www.php.net/base64_encode , base 64 encoded data takes up to ~33% more space than the usual data when it is not encoded. This means that the encoded/encrypted PHP script will take up a lot of space as compared to the same script when unencrypted. Because of this, we need to compress the encoded base 64 data. See file size comparison below:

 

In PHP, two common functions are used to compress and decompress strings. These are the gzinflate() and gzdeflate() functions. Below is an example script for compressing a string using gzdeflate function:

<?php

//compress string

$compress = gzdeflate('The quick brown fox jumps over the lazy dog', 9);

//uncompress

$decompress = gzinflate($compress);

echo $decompress;

?>

This is effective in reducing the file size of base 64 encoded data. Note that to retrieve or decompress, you use the opposite function (gzinflate). The figure “9” in the gzdeflate function means maximum compression level.



 
 
>>> More PHP Articles          >>> More By Codex-M
 

blog comments powered by Disqus
   

PHP ARTICLES

- PHP Closures as View Helpers: Lazy-Loading F...
- Using PHP Closures as View Helpers
- PHP File and Operating System Program Execut...
- PHP: Effects of Wrapping Code in Class Const...
- PHP: Building Concrete Validators
- Sanitizing Input with PHP
- Executing Shell Commands with PHP
- Handling File Data with PHP
- File Security and Resources with PHP
- ArrayObject PHP Class Examples
- ArrayObject PHP Class: An Introduction
- Getting File System Data with PHP
- PHP Tools for Working with the File and Oper...
- Working with the File and Operating System w...
- PHP Proxy Patterns: Completing a Blog


© 2003-2012 by Developer Shed. All rights reserved. DS Cluster 2 - Follow our Sitemap

Dev Shed Tutorial Topics: