Mega Code Archive

 
Categories / Php / Authentication
 

PHP Function to Encrypt-Decrypt a string without a known key

The string itself has his own different key for every character <?PHP /* Description : A function with a very simple but powerful xor method to encrypt and/or decrypt a string with an unknown key. Implicitly the key is defined by the string itself in a character by character way. There are 4 items to compose the unknown key for the character in the algorithm 1.- The ascii code of every character of the string itself 2.- The position in the string of the character to encrypt 3.- The length of the string that include the character 4.- Any special formula added by the programmer to the algorithm to calculate the key to use */ FUNCTION ENCRYPT_DECRYPT($Str_Message) { $Len_Str_Message=STRLEN($Str_Message); $Str_Encrypted_Message=""; FOR ($Position = 0;$Position<$Len_Str_Message;$Position++){ // long code of the function to explain the algoritm //this function can be tailored by the programmer modifyng the formula //to calculate the key to use for every character in the string. $Key_To_Use = (($Len_Str_Message+$Position)+1); // (+5 or *3 or ^2) //after that we need a module division because can´t be greater than 255 $Key_To_Use = (255+$Key_To_Use) % 255; $Byte_To_Be_Encrypted = SUBSTR($Str_Message, $Position, 1); $Ascii_Num_Byte_To_Encrypt = ORD($Byte_To_Be_Encrypted); $Xored_Byte = $Ascii_Num_Byte_To_Encrypt ^ $Key_To_Use; //xor operation $Encrypted_Byte = CHR($Xored_Byte); $Str_Encrypted_Message .= $Encrypted_Byte; //short code of the function once explained //$str_encrypted_message .= chr((ord(substr($str_message, $position, 1))) ^ ((255+(($len_str_message+$position)+1)) % 255)); } RETURN $Str_Encrypted_Message; } //end function ?>