FAQ
Estimado php-es,

He estado buscando por PHP pero todas las funciones de encriptacion
tienen 1 sola vía (excepto base 64 que es demasiado fácil de sacar).

conocéis alguna función que permita volver al valor original de
forma sencilla?

O también si alguien me puede plantear una solución alternativa a mi
problema:
En una Web tengo que pasar un valor (url) para obtener unos datos
mediante una llamada Javascript. Pero no quiero pasar esa URL tal
cual, porque así es mucho mas fácil que terceras personas usen mi
servicio de forma automatizada.
La única solución que se me ha ocurrido es encriptar y desencriptar.
No es infalible pero le parara los pies a mas de uno.


Un cordial Saludo,

D. Amador Cubino
Presidente de Necostek.com

www.HispaInternet.com
www.Hispadominio.net

Search Discussions

  • Fran at Sep 6, 2004 at 10:54 am
    Mirate en la ayuda la libreria mcrypt.

    Un saludo
    Fran

    "Amador Cubino" <acubino3@necostek.com> escribió en el mensaje
    news:837110640.20040906115829@necostek.com...
    Estimado php-es,

    He estado buscando por PHP pero todas las funciones de encriptacion
    tienen 1 sola vía (excepto base 64 que es demasiado fácil de sacar).

    conocéis alguna función que permita volver al valor original de
    forma sencilla?

    O también si alguien me puede plantear una solución alternativa a mi
    problema:
    En una Web tengo que pasar un valor (url) para obtener unos datos
    mediante una llamada Javascript. Pero no quiero pasar esa URL tal
    cual, porque así es mucho mas fácil que terceras personas usen mi
    servicio de forma automatizada.
    La única solución que se me ha ocurrido es encriptar y desencriptar.
    No es infalible pero le parara los pies a mas de uno.


    Un cordial Saludo,

    D. Amador Cubino
    Presidente de Necostek.com

    www.HispaInternet.com
    www.Hispadominio.net
  • Pablo E. Siciliano at Sep 6, 2004 at 12:23 pm
    Fijate en la biblioteca mcrypt, hay un montón de algoritmos de encriptación
    simétricos (De dos vías) standard, y es muy posible que de mas de uno
    encuetres una versión en javascript.

    De todos modos, hay cosas mucho mas sencillas y efectivas para evitar tu
    problema. Típicamente, lo que se hace es validar una página teniendo una
    anterior con una imagen con letras aleatorias y guardando en una variable de
    sesión dichas letras. Se que hay algo para facilitar eso en phpclasses. Si
    no, cuanquier hay variantes para lo mismo sin utilizar la famosa imagen,
    aunque para las otras casi siempre es posible hacer un parser que corrija el
    bloqueo.

    Atte,
    Pablo E. Siciliano.
    Depto. Programación.
    PuenteNet.com.

    ----- Original Message -----
    From: "Amador Cubino [Necostek.com]" <acubino3@necostek.com>
    To: <php-es@lists.php.net>
    Sent: Monday, September 06, 2004 6:58 AM
    Subject: [PHP-ES] Encriptacion de 2 vias.

    Estimado php-es,

    He estado buscando por PHP pero todas las funciones de encriptacion
    tienen 1 sola vía (excepto base 64 que es demasiado fácil de sacar).

    conocéis alguna función que permita volver al valor original de
    forma sencilla?

    O también si alguien me puede plantear una solución alternativa a mi
    problema:
    En una Web tengo que pasar un valor (url) para obtener unos datos
    mediante una llamada Javascript. Pero no quiero pasar esa URL tal
    cual, porque así es mucho mas fácil que terceras personas usen mi
    servicio de forma automatizada.
    La única solución que se me ha ocurrido es encriptar y desencriptar.
    No es infalible pero le parara los pies a mas de uno.


    Un cordial Saludo,

    D. Amador Cubino
    Presidente de Necostek.com

    www.HispaInternet.com
    www.Hispadominio.net


    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Marc Soler at Sep 6, 2004 at 5:02 pm
    Sin animo de ser "puntilloso" ni de tocar la moral a nadie, algunas
    aclaraciones:

    - No es correcta la palabra encriptación, ya que según entiendo tu
    objetivo no es meter nada en ninguna cripta. Por eso mejor utilizar "cifrado"

    - Base64 no se diseño como algoritmo de cifrado, por eso es normal
    que encuentres muy fácil el descifrarlo. No es que sea fácil, es que
    es directo.

    - No hay algoritmos de cifrado de una sola vía, porque sinó vaya plan,
    cifras y después no puedes volver a descifrar... Lo que si que hay
    son funciones de una sola via, como algunas funciones basadas en hash
    como el MD5 o el SHA-1. El cometido de esas funciones no es el de
    cifrar nada sinó el de obtener resumenes (digest) de información de longitud
    variable.

    - Es cierto que hay un montón de algoritmos de cifrado simétrico. Pero
    no confundir con algoritmos de una via o de dos. El cifrado simétrico
    usa la misma clave para cifrar y descifrar (por ejemplo el rijndael-
    AES). En cambio el asimétrico usa una clave para cifrar y otra para
    descifrar (en el que se basan los sistemas de clave pública como el
    RSA).

    Si hay algún gurú de la criptografia en la sala y quiere corregir o
    matizar algo de lo expuesto, adelante, por favor. Así todos aprendemos
    un poco.

    PD: para cifrar con PHP lo mejor mcrypt.

    --
    Marc Soler
    Fijate en la biblioteca mcrypt, hay un montón de algoritmos de encriptación
    simétricos (De dos vías) standard, y es muy posible que de mas de uno
    encuetres una versión en javascript.
    De todos modos, hay cosas mucho mas sencillas y efectivas para evitar tu
    problema. Típicamente, lo que se hace es validar una página teniendo una
    anterior con una imagen con letras aleatorias y guardando en una variable de
    sesión dichas letras. Se que hay algo para facilitar eso en phpclasses. Si
    no, cuanquier hay variantes para lo mismo sin utilizar la famosa imagen,
    aunque para las otras casi siempre es posible hacer un parser que corrija el
    bloqueo.
    Atte,
    Pablo E. Siciliano.
    Depto. Programación.
    PuenteNet.com.
    ----- Original Message -----
    From: "Amador Cubino [Necostek.com]" <acubino3@necostek.com>
    To: <php-es@lists.php.net>
    Sent: Monday, September 06, 2004 6:58 AM
    Subject: [PHP-ES] Encriptacion de 2 vias.
    Estimado php-es,

    He estado buscando por PHP pero todas las funciones de encriptacion
    tienen 1 sola vía (excepto base 64 que es demasiado fácil de sacar).

    conocéis alguna función que permita volver al valor original de
    forma sencilla?

    O también si alguien me puede plantear una solución alternativa a mi
    problema:
    En una Web tengo que pasar un valor (url) para obtener unos datos
    mediante una llamada Javascript. Pero no quiero pasar esa URL tal
    cual, porque así es mucho mas fácil que terceras personas usen mi
    servicio de forma automatizada.
    La única solución que se me ha ocurrido es encriptar y desencriptar.
    No es infalible pero le parara los pies a mas de uno.


    Un cordial Saludo,

    D. Amador Cubino
    Presidente de Necostek.com

    www.HispaInternet.com
    www.Hispadominio.net


    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Satyam at Sep 6, 2004 at 6:57 pm
    Puede que lo que busques no sea una encriptacion sino una validacion. Los
    bancos vienen haciendo esto con sus teles de transferencia de moneda desde
    hace años. El mensaje se transmite en claro, pero se transmite un MAC
    (Message Authentication Code) que es el resultado de un algoritmo efectuado
    sobre los datos. Algo asi como el 'checksum' que se usa como mecanismo de
    verificacion de los mensajes en los protocolos de comunicacion, salvo que el
    checksum es breve pues pretende evitar un error usualmente infrecuente y no
    intencional, mientras que el MAC intenta evitar alteraciones intencionales.

    Para un MAC puedes usar un algoritmo de un solo sentido, tipo un MD5 o
    similar, pues lo unico que debes hacer es enviar el texto 'en claro' (o sea,
    sin cifrar) junto con su MAC. No necesitas descifrar el valor del MAC pues
    tienes el valor original, solo necesitas verificar que el valor en claro
    genere el mismo MAC para asegurarse que sea el mismo.

    La cuestion entonces es cómo hacerle llegar al cliente la clave conque
    generar el codigo MAC.

    Por otro lado, el base64 no es un mecanismo de cifrado sino una
    codificacion. Su funcion no es esconder nada sino poder transmitir
    contenido binario evitando que algun conjunto de bytes se interprete como
    caracteres de control. La codificacion se hace de tal manera que el codigo
    resultante no contenga ningun caracter que no este dentro de aquellos
    representables dentro de los conjuntos de caracteres tanto US ASCII como
    EBCDIC.

    Satyam

    ----- Original Message -----
    From: "Amador Cubino [Necostek.com]" <acubino3@necostek.com>
    To: <php-es@lists.php.net>
    Sent: Monday, September 06, 2004 11:58 AM
    Subject: [PHP-ES] Encriptacion de 2 vias.

    Estimado php-es,

    He estado buscando por PHP pero todas las funciones de encriptacion
    tienen 1 sola vía (excepto base 64 que es demasiado fácil de sacar).

    conocéis alguna función que permita volver al valor original de
    forma sencilla?

    O también si alguien me puede plantear una solución alternativa a mi
    problema:
    En una Web tengo que pasar un valor (url) para obtener unos datos
    mediante una llamada Javascript. Pero no quiero pasar esa URL tal
    cual, porque así es mucho mas fácil que terceras personas usen mi
    servicio de forma automatizada.
    La única solución que se me ha ocurrido es encriptar y desencriptar.
    No es infalible pero le parara los pies a mas de uno.


    Un cordial Saludo,

    D. Amador Cubino
    Presidente de Necostek.com

    www.HispaInternet.com
    www.Hispadominio.net


    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php
  • Amador Cubino [Necostek.com] at Sep 6, 2004 at 11:03 pm
    Estimado Satyam,

    Esta ultima solución que has propuesto es la mas interesante.

    Y seguramente sera la que adopte por su sencillez :-)

    No se me había ocurrido, muchas gracias.


    Un cordial Saludo,

    D. Amador Cubino
    Presidente de Necostek.com

    www.HispaInternet.com
    www.Hispadominio.net



    Con fecha lunes, 06 de septiembre de 2004, 20:55:42, escribió:

    S> Puede que lo que busques no sea una encriptacion sino una validacion. Los
    S> bancos vienen haciendo esto con sus teles de transferencia de moneda desde
    S> hace años. El mensaje se transmite en claro, pero se transmite un MAC
    S> (Message Authentication Code) que es el resultado de un algoritmo efectuado
    S> sobre los datos. Algo asi como el 'checksum' que se usa como mecanismo de
    S> verificacion de los mensajes en los protocolos de comunicacion, salvo que el
    S> checksum es breve pues pretende evitar un error usualmente infrecuente y no
    S> intencional, mientras que el MAC intenta evitar alteraciones intencionales.

    S> Para un MAC puedes usar un algoritmo de un solo sentido, tipo un MD5 o
    S> similar, pues lo unico que debes hacer es enviar el texto 'en claro' (o sea,
    S> sin cifrar) junto con su MAC. No necesitas descifrar el valor del MAC pues
    S> tienes el valor original, solo necesitas verificar que el valor en claro
    S> genere el mismo MAC para asegurarse que sea el mismo.

    S> La cuestion entonces es cómo hacerle llegar al cliente la clave conque
    S> generar el codigo MAC.

    S> Por otro lado, el base64 no es un mecanismo de cifrado sino una
    S> codificacion. Su funcion no es esconder nada sino poder transmitir
    S> contenido binario evitando que algun conjunto de bytes se interprete como
    S> caracteres de control. La codificacion se hace de tal manera que el codigo
    S> resultante no contenga ningun caracter que no este dentro de aquellos
    S> representables dentro de los conjuntos de caracteres tanto US ASCII como
    S> EBCDIC.

    S> Satyam

    S> ----- Original Message -----
    S> From: "Amador Cubino [Necostek.com]" <acubino3@necostek.com>
    S> To: <php-es@lists.php.net>
    S> Sent: Monday, September 06, 2004 11:58 AM
    S> Subject: [PHP-ES] Encriptacion de 2 vias.

    Estimado php-es,

    He estado buscando por PHP pero todas las funciones de encriptacion
    tienen 1 sola vía (excepto base 64 que es demasiado fácil de sacar).

    conocéis alguna función que permita volver al valor original de
    forma sencilla?

    O también si alguien me puede plantear una solución alternativa a mi
    problema:
    En una Web tengo que pasar un valor (url) para obtener unos datos
    mediante una llamada Javascript. Pero no quiero pasar esa URL tal
    cual, porque así es mucho mas fácil que terceras personas usen mi
    servicio de forma automatizada.
    La única solución que se me ha ocurrido es encriptar y desencriptar.
    No es infalible pero le parara los pies a mas de uno.


    Un cordial Saludo,

    D. Amador Cubino
    Presidente de Necostek.com

    www.HispaInternet.com
    www.Hispadominio.net


    --
    PHP Spanish Localization Talk Mailing List (http://www.php.net/)
    To unsubscribe, visit: http://www.php.net/unsub.php

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupphp-general-es @
categoriesphp
postedSep 6, '04 at 9:58a
activeSep 6, '04 at 11:03p
posts6
users5
websitephp.net

People

Translate

site design / logo © 2022 Grokbase