Encriptar y desencriptar por transposición sin necesitar clave

Código PHP

PHP – Encriptar – Encriptar transposicion sin clave

Función de encriptar y desenciptar en forma de transposicion, (reemplazando unos valores por otros de forma ordenada) y sin necesitar ningún tipo de clave.

El resultado es devuelto en base64.

Mediante esta encriptación el mismo texto siempre devuelve el mismo texto encriptado.

/**
 * Class HelperEncriptar
 */
abstract class HelperEncriptar
{

    /**
     * Encriptación por trasposición
     *
     * @param string $str_plano
     *
     * @return string
     */
    public static function encriptarTransposicion( $str_plano )
    {

        $len       = strlen( $str_plano );
        $str_encrypted = "";

        for ( $position = 0; $position < $len; $position++ ) {

            $key_to_use = ( ( $len_str_message + $position ) + 1 );
            $key_to_use = ( 255 + $key_to_use ) % 255;

            $byte_to_be_encrypted = substr( $str_plano, $position, 1 );

            $ascii_num_byte_to_encrypt = ord( $byte_to_be_encrypted );

            $xored_byte = $ascii_num_byte_to_encrypt ^ $key_to_use;

            $encrypted_byte = chr( $xored_byte );

            $str_encrypted .= $encrypted_byte;
        }

        return base64_encode( $str_encrypted );
    }

    /**
     * Desencriptación por trasposición
     *
     * @param string $str_encriptado
     *
     * @return string
     */
    public static function desencriptarTransposicion( string $str_encript )
    {
        $str_encriptado = base64_decode( $str_encript );

        $len = strlen( $str_encript );

        $str_desencrypt = "";

        for ( $position = 0; $position < $len; $position++ ) {

            $key_to_use = ( ( $len_str_message + $position ) + 1 );
            $key_to_use = ( 255 + $key_to_use ) % 255;

            $byte_to_be_encrypted = substr( $str_encript, $position, 1 );

            $ascii_num_byte_to_encrypt = ord( $byte_to_be_encrypted );

            $xored_byte = $ascii_num_byte_to_encrypt ^ $key_to_use;

            $byte = chr( $xored_byte );

            $str_desencrypt .= $byte;
        }
        return $str_desencrypt;
    }

}