lunes, 8 de julio de 2013

Funciones de encriptacion de php y manejo de sesiones (algoritmo)

Funciones de encriptacion de php y manejo de sesiones (algoritmo)
 


Existen tres funciones crypt(),md5() y sha1():

Primero:  crytp(): 

Esta función se manda llamar con 2 parámetros la primera es la cadena que necesitamos encriptar (este parámetro es obligatorio) y el otro parámetro es llamado “semilla” (este es opcional, si se omite php pone uno aleatorio aunque codifica diferente cada que se manda llamar) que es tomado en cuenta para la codificación, por ejemplo:
$encriptada1 = crypt(“password”); //esta es sin base de codificación
$encriptada2=crypt(“password”,”2A”); //con base 2A de codificación
Este seria el contenido de cada una de las variables (el de encriptada1 varia en cada actualización) :
$encriptada1 = “$1$ew5.P20.$Rc7No.2LVt8RqWdvlVw2K.”
$encriptada2 =” 2AZ1KrbPqjOiA”


Segundo: md5():

Esta es una de las funciones mas utilizadas para encritptar contraseñas ya que siempre genera el mismo resultado para la misma cadena y es de una sola vía, es decir, una vez codificada una cadena no es posible volver a descodificar. Un ejemplo es el siguiente:
$encriptada1 = md5(“password”);
La variable $encriptada1 tendría después de esta asignación la siguiente cadena: “5f4dcc3b5aa765d61d8327deb882cf99”


Tercero: sha1():

Esta forma de encriptar cada vez desplaza mas y mas a la función md5. Ya que ofrece un nivel mayor en cuanto seguridad, y en php es realmente sencilla de utilizar, veamos como se manda llamar:
$encriptada4 =sha1(“password”);
La variable $encriptada4, tendría la siguiente cadena codificada: “5baa61e4c9b93f3f0682250b6cf8331b7ee68fd8”
Como vez mandar  llamar estas funciones es muy sencillo. Y antes de terminar aclaro que no son las únicas formas de realizarlo, pero si son las utilizadas.

viernes, 5 de julio de 2013

Api

Qué es y para qué sirve una API?


En muchas ocasiones me ha tocado explicarle a un cliente qué es y para qué sirve un API, luego de advertir que su necesidad o requerimiento se soluciona con un servicio web, a través de esta tecnología.

API significa Interfaz de Programación de Aplicaciones, y su definición formal le da poca información útil a alguien que no entiende mucho de informática. Una API es una "llave de acceso" a funciones que nos permiten hacer uso de un servicio web provisto por un tercero, dentro de una aplicación web propia, de manera segura.

Ejemplos de APIs:

  • Google Maps a través de su acceso a "API" nos permite ponerle datos e información útil sobre sus mapas, y presentarlos con ciertas búsquedas o funciones personalizadas, desde nuestra propia aplicación
  • Paypal con su "API" nos permite hacer operaciones de pagos electrónicos usando nuestro propio sistema web, sin necesidad de acceder/operar en la web de Paypal
  • Algunos Booking Engines (centrales de reservas de hoteles y tickets aereos) abren sus aplicaciones a partir de APIs para permitir que terceros re-vendan desde sus propios sistemas
  • Twitter ha permitido el desarrollo de un gran número de sistemas alternativos y servicios web que operan a través de su API
  • UPS y DHL (operadoras logísticas internacionales) brindan acceso a sus sistemas desde APIs, para permitirles a los sitios de comercio electrónico poder calcular el costo de envío de los productos vendidos según ciertos parámetros
  • Facebook Connect cede a través del API ciertos datos para registrar automáticamente usuarios en otros sitios web, dándoles la posibilidad de registrarse y loguearse con sus propias cuentas de Facebook
API, entonces es una interfaz para dar un acceso limitado a la  base de datos de un servicio web, evitando que se conozca o acceda al propio código fuente de la apliación original.
Pero no solo las APIs permiten interacciones entre diferentes sitios web, sino que también sirven para permitir a ciertas aplicaciones, programas y widgets de escritorio, acceder a los datos o procesar transacciones en la aplicación madre.

Dónde vemos las APIs

En el mundo virtual actual es imposible no usar (incluso sin saberlo) algún servicio que usa APIs.
Por ejemplo, hace unos días invité a mis contactos de mi correo hotmail a mi red de linkedin, y para esto linkedin utiliza el API del servicio de correo electrónico de Windows Live para poder acceder a datos almacenados en su propia aplicación: