Encriptar Querystring

octubre 29, 2008

Despues de casi 6 meses que habia dejado de escribir en mi blog, ahora vuelvo con un articulo que me parecio bastante interesante…
Lo que hace este pequeño codigo es encriptar el querystring de una URL,bueno espero que les sea util este articulo.

Imports System
Imports System.IO
Imports System.Xml
Imports System.Text
Imports System.Security.Cryptography

Public Class Encryption64
Private key() As Byte = {}
Private IV() As Byte = {&H12&H34&H56&H78&H90&HAB&HCD&HEF}

 Public Function Decrypt(ByVal stringToDecrypt As String_
      ByVal sEncryptionKey As StringAs String
      Dim inputByteArray(stringToDecrypt.LengthAs Byte
       Try
      key = System.Text.Encoding.UTF8.GetBytes(Left(sEncryptionKey8))
       Dim des As New DESCryptoServiceProvider()
       inputByteArray = Convert.FromBase64String(stringToDecrypt)
       Dim ms As New MemoryStream()
       Dim cs As New CryptoStream(msdes.CreateDecryptor(keyIV), _
         CryptoStreamMode.Write)
          cs.Write(inputByteArray0inputByteArray.Length)
          cs.FlushFinalBlock()
      Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8
          Return encoding.GetString(ms.ToArray())
      Catch e As Exception
          Return e.Message
      End Try
   End Function

   Public Function Encrypt(ByVal stringToEncrypt As String_
       ByVal SEncryptionKey As StringAs String
       Try
      key = System.Text.Encoding.UTF8.GetBytes(Left(SEncryptionKey8))
          Dim des As New DESCryptoServiceProvider()
          Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes_
              stringToEncrypt)
          Dim ms As New MemoryStream()
        Dim cs As New CryptoStream(msdes.CreateEncryptor(keyIV), _
              CryptoStreamMode.Write)
          cs.Write(inputByteArray0inputByteArray.Length)
          cs.FlushFinalBlock()
          Return Convert.ToBase64String(ms.ToArray())
      Catch e As Exception
          Return e.Message
      End Try
   End Function

End Class


Microsoft Volta

diciembre 10, 2007

Microsoft Volta es una nueva herramienta de desarrollo Web salida de los laboratorios de Windows Live y de Microsoft Research. Ustedes se preguntaran ¿y qué es Microsoft Volta?, (yo me hice esa pregunta).

Pues bien, Microsoft Volta es una serie de extensiones y bibliotecas para Visual Studio 2008, y a este se preguntaran, pues que no para eso está ASP.NET Futures?, pues sí, pero la novedad  o lo interesante  de Micrsoft Volta es que permite desarrollar aplicaciones Web si inportarnos su funcionalidad, si determinar si se va a ejecutar en el cliente (browser) o en el servidor. Interesante, no?.

A mí se me hace interesante porque de esta manera nosotros podemos desarrollar toda la aplicación y ya después preocuparnos por que partes se ejecutaran de un lado o del otro, incluso determinar que toda una página se ejecute del lado del cliente, además  de esto podemos decidir programar en cualquier lenguaje de .NET que queramos (C#, VB.NET, JScript, PHP, o en el que quieran) y solo determinar en donde se ejecutaran mediante un atributo. Volta se encarga de todo lo demás, incluyendo comunicación, seriación, seguridad, sincronización, etc… entre todas las capas que intervienen.

Creo que suena interesante, al momento que escribo este post tengo que decir que no lo checo a un, pero por supuesto que lo hare, por el  momento ya se está descargando, así que los invito a que hagan lo mismo, ya en otros post publicare cual es mi experiencia con el producto.

 Descarga: Microsoft Volta

URL: http://labs.live.com/Volta/

Fuente: mspnor.wordpress.com


Completa la 5ta Estrella!!

noviembre 13, 2007

La 5ta y última estrella comprende exámenes sobre los últimos avances en la tecnología de desarrollo .NET: ASP.NET, Ajax, WWF, WWC y Arquitectura. Y para premiar tu interés en este programa, Microsoft te ofrece la posibilidad de destacarte como uno de los desarrolladores mejor calificados en tu comunidad.

Desarrollador Gold o Platinum

Además tenemos la posibilidad de convertirte en un desarrollador Platinum o Gold, ser reconocido en tu comunidad y darle un despegue de profesionalismo, especialización y excelencia a tu carrera como
desarrollador. Microsoft creó una nueva categorización
de prestigio; si tus ansias de conocimientos exceden
las temáticas de la 5ta estrella, sólo debes completar
los cursos opcionales luego de haber obtenido la
5ta estrella del programa.

¿Cómo Obtenerlas?

Una vez obtenida la 5ta estrella, puede acceder a
nueva información y exámenes que darán un
upgrade a tu carrera como desarrollador.  Si
apruebas 3 cursos opcionales serás catalogado
como “Desarrollador Gold”. En cambio con más
de 3 cursos electivos aprobados; serás destacado
como “Desarrollador Platinum” y considerado un
referente dentro de tu comunidad.

visita: http://www.mslatam.com/latam/msdn/
comunidad/dce2005/default.aspx


Referencias sobre Ajax y tecnologias Asociadas

septiembre 22, 2007

Sitios sobre AJAX

http://ajaxian.com/
http://www.ajaxlines.com
http://www.ajaxtutorial.net/
http://www.ajaxprojects.com/
http://www.ajaxresources.com/
http://blog.joshuaeichorn.com/ajax-resources/
http://ajax.solutoire.com/

http://www.deitel.com/ajax/AJAX_resourcecenter.html
http://www.oracle.com/technology/tech/java/ajax.html
http://developers.sun.com/ajax/

Tecnologías asociadas a AJAX

JSON
http://www.json.org/
Standard ECMA JavaScript
http://www.ecma-international.org/publications/files/
ecma-st/ECMA-262.pdf

The XMLHttpRequest Object
http://www.w3.org/TR/XMLHttpRequest/
http://www.fiftyfoureleven.com/resources/programming
/xmlhttprequest/

http://www.fiftyfoureleven.com/resources/programming
/xmlhttprequest/examples

Librerías JavaScript

Software, artículos y ejemplos, comentados en la charla:

Prototype
http://www.prototypejs.org/
http://www.sergiopereira.com/articles/prototype.js.html
http://www.prototypejs.org/learn/introduction-to-ajax

Scriptaculous
http://script.aculo.us/
http://swik.net/scriptacolous
http://24ways.org/2005/introduction-to-scriptaculous-effects
http://24ways.org/examples/introduction-to-scriptaculous-effects/
http://demo.script.aculo.us/shop
http://wiki.script.aculo.us/scriptaculous/show/Ajax.Autocompleter

OpenRico
http://www.openrico.org/

AdobeSpry
http://labs.adobe.com/technologies/spry/

Yahoo User Interface Library
http://developer.yahoo.com/yui/
http://developer.yahoo.com/yui/download/
http://yuiblog.com/

Librerías para PHP

Sajax
http://www.modernmethod.com/sajax/
http://blog.joshuaeichorn.com/archives/2005/04/19/ajax-hello-world-with-sajax/

Xajax
http://www.xajaxproject.org/
http://wiki.xajaxproject.org/Tutorials:Learn_xajax_in_10_Minutes
http://wiki.xajaxproject.org/Tutorials:Processing_Forms_with_xajax
http://www.xajaxproject.org/examples/thewall/thewall.php
http://www.cyberdyne.org/~icebrkr/2007/05/03/xajax-php-live-
datagrid-gridview/

http://www.cyberdyne.org/~icebrkr/files/xajax-Livedatagrid.tar.gz
Ejemplo en
http://dev.chkbox.com/gridview.php

Pajax
http://www.auberger.com/pajax/

Librerías para Java

Google Web Toolkit
http://code.google.com/webtoolkit/
http://code.google.com/webtoolkit/gettingstarted.html
http://google-web-toolkit.googlecode.com/files/
gwt-windows-1.3.3.zip

http://code.google.com/webtoolkit/documentation/examples/
AjaxTags
http://ajaxtags.sourceforge.net/

AjaxTags – AjaxTags Usage
http://ajaxtags.sourceforge.net/usage.html
AjaxTags – AjaxTags Quick Start
http://ajaxtags.sourceforge.net/quickstart.html

ExtJs
http://extjs.com/deploy/ext/examples/grid/xml
-grid.html

Dynamic Faces
http://java.sun.com/developer/technicalArticles
/J2EE/ajax_jsf/

BackBase
http://www.backbase.com

Librerías para .NET

ASP.NET Ajax (versión de Microsoft para Net 2.x)
http://ajax.asp.net/

Ajax.NET
http://ajax.schwarz-interactive.de/CSharpSample/
MagicAjax
http://www.magicajax.net/

Algunas implementaciones de chat en Ajax:

http://socket7.net/lace/
http://www.ajaxprojects.com/ajax/tutorialdetails
.php?itemid=9

http://www.ajaxchat.org/
http://www.plasticshore.com/projects/chat/index.html
http://www.phpfreechat.net/
http://www.dynamicajax.com/fr/AJAX_Driven_Web
_Chat-271_290_291.html

Algunos sitios con AJAX:

http://www.egosurft.org
http://www.humanized.com/reader/

Silverlight:

http://silverlight.net/
http://tirania.org/blog/archive/2007/May-01.html
http://www.hanselman.com/blog/PuttingMixSilver
lightTheCoreCLRAndTheDLRIntoContext.aspx

http://download.microsoft.com/download/f/2/e/
f2ecc2ad-c498-4538-8a2c-15eb157c00a7/SL_
Map_FinalNET.png

http://blogs.msdn.com/tims/archive/2007/04
/30/silverlight-screencasts.aspx

Moonlight – Mono
http://del.icio.us/ajlopez/silverlight


Enlaces de Agosto: ASP.NET AJAX Y ASP.NET AJAX Control Toolkit

agosto 18, 2007

Navegando encontre nuevos enlaces y Articulos, sobre Aspnet Ajax en Visual Studio 2008 y .Net 3.5.

Artículos sobre ASP.NET AJAX

Artículos de ASP.NET AJAX Control Toolkit

Artículos sobre ASP.NET AJAX en VS 2008 y .NET 3.5

Fuente: thinkingindotnet.wordpress.com


Aplicacion Ejemplo: Album Viewer, con ASP.NET AJAX y Silverlight

julio 25, 2007

Visitando el blog de Dan Wahlin, me tope con esta noticia: AlbumViewer Application Now Runs with Silverlight and ASP.NET AJAX.

Como saben en el reciente MIX 07, se liberó Microsoft Silverlight, Dan Wahlin aprovecho y actualizo su aplicación AlbumViewer para ver, que consume su información a través de unos Web Services de Amazon.com, ahora su aplicación AlbumViewer esta corriendo sobre ASP.NET AJAX y Silverlight.

Puede ver la versión online, o descargar el código fuente.

No he tenido tiempo de revisar el código a detalle, pero de todas maneras lo dejo para que aquellos que si tengan un tiempito de hacerlo.

Por cierto, será cierto?, que los developers, no expertos designers, pueden hacer eso con Silverlight (antes WPF/E)?, me he esta dando curiosidad de probarlo, pero será de acá un tiempo cuando termine mis pendientes.

Les dejo un screenshot de la aplicación online, con la búsqueda de Shakira.

02_album.jpg

Si no ven nada, es porque no tiene instalado Silverlight, además tendrán el link para descargar e instalarlo. Es algo así como si instalaran el add-in de Adobe Flash para ver las animaciones de Flash en la Web, de igual manera tienen que instalar Silverlight.


Libro Gratuito sobre Desarrollo en AJAX

julio 16, 2007

Mis amigos de la Comunidad de Desarrolladores .NET  me llamó mucho la atención el hecho de que Microsoft colocó para descargar el libro de Dino Esposito llamado “Introducing Microsoft Code Name ‘Atlas’ for AJAX Development” (147 páginas) de manera gratuita.

Bueno aqui les dejo el Link para que lo descarguen y espero que les sirva para los desarrolladores en de Ajax.

http://download.microsoft.com/download/8/6/9/869052F5-403D-4B34-BFC4-E61FD28D53A1/0735


iframe o AJAX?

julio 5, 2007

Básicamente los problemas que tienen que enfrentar los proyectos web, son los mismos para todos los proyectos, frente a una aplicación Windows. El manejo de variables en la aplicación (sesión, cache, viewstate, ..), falta de formularios de dialogo, compartir variables entre ventanas, entre otros temas que son conocidos. Uno de los temas es el “refresco de pantalla”, o postback al servidor, y que va de cara con el usuario final. Que pasa si tienes combos dependientes que se cargan unos a otros, por cada uno se estaría haciendo un postback, son controles pequeños que a veces no merece la pena hacer un refresco de toda la página desde la vista del usuario final, en un gridView o listas de datos podrían tolerar, pero cambiar un combo?, no a muchos usuarios finales les gusta. Si van a dejar sus appWindows por aplicaciones Web, tiene que ser algo mejor no?

Ahora en cuanto al manejo de refresco de pantalla, desde hace años se viene implementando tecnologías para evitar estos refrescos.En este post vamos a resumir una comparación entre iframe y ajax, usando las implementaciones básicas y pre-construidas, no haciendo cosas marcianas.

  • Ajax, es multihilo, en el sentido que pueden haber procesando varios pedidos a la vez.
  • Iframe, tiene soporte del historial para su navegación, es decir que puedes retrodecer a tu vista anterior, en cambio en ajax, no. Aunque con ASP.NET AJAX hay una alternativa para lograr esto, pero es un control de terceros.
  • Iframe, tener cross-site scripting, aunque depende si tu tienes control sobre ambos dominios, como se menciona en el artículo original.
  • Ajax, maneja estado, con ajax podemos mostrar un indicador de progreso del pedido actual y que el usuario final no vea esa pantalla blanca de parpadeo, que no le dice nada.

Y aunque con Iframe puedes mejorar la experiencia del usuario durante de la navegación, las páginas cuerpo seguirán haciendo postback, es decir puedes conversar tu menú y head, pero si haces un postback en la página cuerpo, igual verás el refresco de la pantalla aunque sólo de esa frame. Ahora, hablando de ASP.NET AJAX, nosotros con el UpdatePanel podemos hacer mejor las cosas, tampoco vamos a colocar un iframe por cada control que tengamos, pero con el UpdatePanel si podemos hacer eso y sólo usarlo donde lo necesitemos, además que podemos mostrar un indicador del estado del pedido al usuario, usando el control UpdateProgress.

Pero como dice el autor en su artículo, todo depende del escenario, no pretendan implementar sólo una opción en todos sus escenarios. Por ejemplo Google Maps usa iframes, mientras que Google suggest usa AJAX.

Corríjanme si me equivoco, pero otra cosa a tener en cuenta es que el elemento iframe no es valido en el xhtml 1.1, no directamente, por que vi que había en un foro un post de un iframe válido para xhtml 1.1.

Artículos relacionados:


ASP.NET AJAX, haciendo historia

julio 5, 2007

ASP.NET Ajax es un nuevo framework de Microsoft para crear aplicaciones web más sofisticadas aprovechando el “lado-cliente” y fue liberado en Enero pasado. Hay que tener en cuenta que ASP.NET 2.0 es un framework del lado-servidor, es decir, cada vez que se requería cierta funcionalidad de ASP.NET 2.0 se tenía que hacer un POST al servidor para ejecutar el código lo cual causaba un “refresh” de la pagina entera, algo que se intenta evitar, dependiendo del caso, con la introducción de este nuevo actor en el escenario del desarrollo web, ósea ASP.NET Ajax, con el principal beneficio ahora de no depender de un Browser en particular (digamos IE) sino que es cross-platform y cross-browser.
En lugar de comenzar a hablar de la arquitectura de ASP.NET Ajax y mostrar ejemplos de código, prefiero hablar de las cosas que conoci y utilice antes para hacer Aplicaciones Web del lado-cliente más ricas.
Por ejemplo, Remote Scripting (1998) se utilizaba script del lado cliente para comunicarse con un applet de java el cual mediante un socket enviaba una solicitud hacia un URL remoto que era una página ASP que representaba la capa-servidor de Remote Scripting, en este caso el valor de retorno era un string que era procesado en el cliente, haciendo una actualización dinámica del contenido mediante scripting.

Casi por la misma época se comenzó a utilizar Remote Data Services (RDS) que, al igual que Remote Scripting, tenia un componente cliente (proxy) y un componente servidor (stub) solo que todo esto estaba basado en COM sobre HTTP. Utilizando Script desde una pagina HTML podía conectarme al servidor y hacer consultas a la base de datos.
Recuerdo haber utilizado esto junto con los famosos (por aquella época) “Data Islands” que se creaban en base a un contenido XML y utilizando un Data Source Object (DSO) se podría presentar en una pagina contenido con distintos filtros u ordenamientos sin necesidad de hacer llamadas adicionales al servidor eliminando la “recarga” de la pagina.
Si les interesa saber detalles de cómo funcionaba todo esto puede ver Data Binding Architecture.

En la década del 2000 aparecerían los DHTML Behaviors. Usando un tipo especial de behavior, el Web Service DHTML Behavior (webservice.htc) se podía hacer una invocación a métodos remotos vía el protocolo SOAP (requerían de IE 5.0 o posterior)
Si desean ver un ejemplo de este Behavior haga click en Consuming a Web Service from an HTML Page.

Luego tendríamos al objeto XmlHttpRequest, este objeto fue desarrollado originalmente por Microsoft como parte de Outlook Web Access 2000, y ha estado disponible desde Internet Explorer 5.0, siendo accesible via JavaScript, VBScript y otros lenguajes soportados por navegadores IE. Se usa para transferir y manipular datos XML hacia y desde el navegador web, estableciéndose un canal de comunicación independiente entre el lado-cliente, de la pagina web, y el servidor.
Desde el 2002, otros navegadores comenzaron a tener sus propias implementaciones compatibles con el XmlHttpRequest, por ejemplo Mozilla, Safari, Opera, etc. El objeto XMLHttpRequest es una parte fundamental de la técnica de desarrollo web conocida como AJAX (Asynchronous JavaScript And XML) , y es usada en muchos sitios web para implementar aplicaciones dinámicas e interactivas como el servicio Gmail de Google, Meebo, Virtual Earth de Microsoft, y los mapas de MapQuest..
Finalmente el consorcio Web, entidad que norma los estándares internet, publico una especificación del objeto XmlHttpRequest para ayudar a mejorar y asegurar la inteoperabilidad del código en las diferentes plataformas Web.
Cuando salió ASP.NET 2.0, este vino con una API denominada ASP.NET Script Callback que proporcionaba la habilidad de ejecutar llamadas asíncronas sin dejar la pagina actual; sin embargo el modelo de programación no es muy completo para tareas complejas, además que el código no es muy fácil de leer y mantener para desarrolladores sin experiencia avanzada.
El equipo de producto de ASP.NET comienza, entonces, a trabajar en un framework como extensión de ASP.NET 2.0 que permita a los desarrolladores crear, de una manera más sencilla, aplicaciones Web interactivas tomando ventaja de las características del browser y el servidor, es así como comienza la historia de ASP.NET “Atlas”, hoy conocido como ASP.NET Ajax.

Unas de las cosas que me encantan de las tecnologías Microsoft es el siempre están a la vanguardia, innovando, muchas veces acusados de “copiar” ideas, aunque creo que en el caso del objeto XmlHttpRequest no pueden decir aquello. Yo lo veo de otro modo, lo más importante es como todo eso contribuye a lograr soluciones de valor para las empresas, reduciendo costos y llegando al mercado más rápidamente.


Video-tutorial Crear servicios Web con ASP.NET

mayo 23, 2007

Aquí tienen un excelente video-tutorial para aprender a crear servicios web con ASP.NET paso a paso:
1.
Como crear un servicio Web.
2. Como probar o invocar un servicio Web.
3. Como invocar un servicio Web desde la interfaz.


Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.