| View previous topic :: View next topic   | 
	
	
	
		| Author | 
		Message | 
	
	
		cmxflash -
 
  Joined: 11 Dec 2004 Posts: 872
 
  | 
		
			
				 Posted: Fri Aug 25, 2006 10:57 pm    Post subject: Encryption in PHP without extensions | 
				      | 
			 
			
				
  | 
			 
			
				I was pretty bored in school today, so I decided to write two functions in PHP which can be used to both encrypt and decrypt text using MD5. The encryption is pretty fast and takes a lot of space. The decryption is pretty slow, though very secure.
 
 
I do not recommend you to use it with big files or big text documents. I use it in my stand-alone PHP-applications when I need to connect to my server from an unsecure connection and transfer some data.
 
 
Feel free to use it however you want.
 
 
 	  | Code: | 	 		  <?php
 
set_time_limit(600);
 
error_reporting(0);
 
function encrypt($__content, $__key) {
 
   $__content = chunk_split(base64_encode($__content), 1, ",");
 
   $__content = explode(",", $__content);
 
   foreach($__content as $void => $__row) {
 
      $__cache_content = $__cache_content.md5($__row.rand(1, 5).$__key).",";
 
   }
 
   return $__cache_content;
 
}
 
 
function decrypt($__content, $__key) {
 
   $__content = explode(",", $__content);
 
   $__possible_chars = "1234567890=QWERTYUIOPASDFGHJKLZXCVBNMqwertyuiopasdfghjklzxcvbnm";
 
   $__possible_chars = explode(",", chunk_split($__possible_chars, 1, ","));
 
   foreach($__content as $void => $__row) {
 
      foreach ($__possible_chars as $void2 => $__row_char) {
 
         for($i=1;$i!=6;$i++) {
 
            if (md5($__row_char.$i.$__key) == $__row) {
 
               $__cache_res = $__cache_res.$__row_char;
 
            }
 
         }
 
      }
 
   }
 
   return base64_decode($__cache_res);
 
}
 
?> | 	  
 
 
 
 	  | Quote: | 	 		  
 
key = 1337
 
853731acff43bd85becfb2ccdfc6278f,c122dbfd2520745f54d7fa94525dfbb7,3901a63387b7e000b0e9fb98ad1c0463,3b2439cfd534f0a6931f0e9bad6eb427,bc6e1826a881c674f2400c75e79bdfbb | 	 
 
  Last edited by cmxflash on Mon Aug 28, 2006 10:48 pm; edited 2 times in total | 
			 
		  | 
	
	
		| Back to top | 
		
			          | 
		
	
	
		  | 
	
	
		Tom Chapman -
 
  Joined: 09 Jul 2005 Posts: 933 Location: Australia
  | 
		
			
				 Posted: Sat Aug 26, 2006 1:57 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				| Soooo how do I use it?  :P | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		cmxflash -
 
  Joined: 11 Dec 2004 Posts: 872
 
  | 
		
			
				 Posted: Sat Aug 26, 2006 2:00 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				 	  | MrWiseOne wrote: | 	 		  | Soooo how do I use it?  :P | 	  
 
 
To encrypt:
 
 	  | Code: | 	 		  <?php
 
include("encryption.php"); //Or whatever you pasted the code into
 
echo encrypt("some data to encrypt", "the secret key"); //Will generate one shitloada text
 
?> | 	  
 
 
To decrypt:
 
 	  | Code: | 	 		  <?php
 
include("encryption.php"); //Or whatever you pasted the code into
 
echo decrypt("The encrypted text here", "the secret key");
 
?> | 	 
  | 
			 
		  | 
	
	
		| Back to top | 
		
			          | 
		
	
	
		  | 
	
	
		Tom Chapman -
 
  Joined: 09 Jul 2005 Posts: 933 Location: Australia
  | 
		
			
				 Posted: Sat Aug 26, 2006 2:03 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				| Awesome work CMX.  :) | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		Mikor -
 
  Joined: 21 Aug 2006 Posts: 144 Location: Hull, England
  | 
		
			
				 Posted: Sat Aug 26, 2006 2:08 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				Sooo... the decrypt function is basicly a brute-force attempt at guessing the original data? _________________ Yarrt.com - Free Arcade
 
RypNet.co.uk - Online Game
 
MSN: michael_walker_2004 <at> hotmail <dot> com | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		cmxflash -
 
  Joined: 11 Dec 2004 Posts: 872
 
  | 
		
			
				 Posted: Sat Aug 26, 2006 2:27 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				 	  | Mikor wrote: | 	 		  | Sooo... the decrypt function is basicly a brute-force attempt at guessing the original data? | 	  
 
 
Well, MD5 is a one-way hash encryption. If you suggest another way of recovering the data, feel free to post it here.
  Last edited by cmxflash on Mon Aug 28, 2006 10:46 pm; edited 1 time in total | 
			 
		  | 
	
	
		| Back to top | 
		
			          | 
		
	
	
		  | 
	
	
		Tom Chapman -
 
  Joined: 09 Jul 2005 Posts: 933 Location: Australia
  | 
		
			
				 Posted: Sat Aug 26, 2006 2:31 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				| Now why didn't I ask that! | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		Mikor -
 
  Joined: 21 Aug 2006 Posts: 144 Location: Hull, England
  | 
		
			
				 Posted: Sat Aug 26, 2006 3:19 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				 	  | cmxflash wrote: | 	 		   	  | Mikor wrote: | 	 		  | Sooo... the decrypt function is basicly a brute-force attempt at guessing the original data? | 	  
 
 
Well, MD5 is a one-way hash encryption. If you suggest another way of revovering the data, feel free to post it here. | 	  
 
 
Why not use another method of data encryption?
 
ie: multiple base64_encode's or something.
 
 
I'm making an encrypt/decrypt function now, it lets the owner of the script customize the encryption by editing an array which contains the order for running functions
 
ie: the array could be ('rot13','salt','base64','rot13')
 
 
Its pretty good, for example, if you input the string "test" with the encryption ('base64','rot13','salt','salt2','reverse','rot13','base64'), it will output: cDgxNDFyc25uczk2NTE5NW40N28ycTQyNW8wbm8zbzluNG9xMTg5NzAwMDExMTEwMTExMDEwMDExMTAxMT09QWR6VkdkMDAwMTExMTAxMTEwMTAwMTExMDExcHIwNXAzcjg3bjZxcnM1NjhybzBuOHIwcHE1NjE4OTc= _________________ Yarrt.com - Free Arcade
 
RypNet.co.uk - Online Game
 
MSN: michael_walker_2004 <at> hotmail <dot> com | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		Tom Chapman -
 
  Joined: 09 Jul 2005 Posts: 933 Location: Australia
  | 
		
			
				 Posted: Sat Aug 26, 2006 3:56 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				Dumb-Ass-Tom-Time! lol
 
 
So are you saying that your script will encrypt a string into all those? | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		Mikor -
 
  Joined: 21 Aug 2006 Posts: 144 Location: Hull, England
  | 
		
			
				 Posted: Sat Aug 26, 2006 4:19 pm    Post subject:  | 
				      | 
			 
			
				
  | 
			 
			
				No, it loops through that array,
 
 
eg:
 
if its ('reverse','base64','rot13')
 
it will reverse the string, base64_encode it, and then str_rot13 it. _________________ Yarrt.com - Free Arcade
 
RypNet.co.uk - Online Game
 
MSN: michael_walker_2004 <at> hotmail <dot> com | 
			 
		  | 
	
	
		| Back to top | 
		
			            | 
		
	
	
		  | 
	
	
		 |