4/06/2009

Encriptar y Desencriptar Valores

Codigo para Encryptar y Desencrytar.... espero que les sirva

Imports Microsoft.VisualBasic

Imports System.Security.Cryptography

Imports System.Text

Imports System.IO

Public Class Class1

Public Shared Function Encryptar(ByVal strValor As String) As String

Dim strEncrKey As String = "&%#@?,:*"

Dim byKey() As Byte = {}

Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}

Try

byKey = System.Text.Encoding.UTF8.GetBytes(Left(strEncrKey, 8))

Dim des As New DESCryptoServiceProvider

Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes(strValor)

Dim ms As New MemoryStream

Dim cs As New CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write)

cs.Write(inputByteArray, 0, inputByteArray.Length)

cs.FlushFinalBlock()

Return Convert.ToBase64String(ms.ToArray())

Catch ex As Exception

Return ex.Message

End Try

End Function

------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Public Shared Function Decrypt(ByVal strValor As String) As String

Dim sDecrKey As String = "&%#@?,:*"

Dim byKey() As Byte = {}

Dim IV() As Byte = {&H12, &H34, &H56, &H78, &H90, &HAB, &HCD, &HEF}

Dim inputByteArray(strValor.Length) As Byte

Try

byKey = System.Text.Encoding.UTF8.GetBytes(Left(sDecrKey, 8))

Dim des As New DESCryptoServiceProvider

If Environment.GetEnvironmentVariable("PROCESSOR_ARCHITECTURE") = "x64" Then

If Trim(strValor).Length = 0 Then

Throw New Exception("Password No debe estar en Blanco")

End If

End If

inputByteArray = Convert.FromBase64String(strValor)

Dim ms As New MemoryStream

Dim cs As New CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write)

cs.Write(inputByteArray, 0, inputByteArray.Length)

cs.FlushFinalBlock()

Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8

Return encoding.GetString(ms.ToArray())

Catch ex As Exception

Return ex.Message

End Try

End Function

End Class


3/30/2009

Implementando AJAX con C# / VB.NET

Hola a todos !!!.. este es mi primer entrada.. espero que les guste.. se trata de algo que esta haciendo revolucionar la forma de crear aplicaciones web, AJAX.







AJAX! No hablamos de un equipo de fútbol, ni tampoco de un detergente, ¿entonces? La unión de varias tecnologías para crear una nueva e impresionante experiencia en la web.

Hace un tiempo AJAX parece ser la palabra de moda en el “mundo” del desarrollo de aplicaciones Web; de hecho muchos lo escuchan nombrar pero pocos saben que es realmente y, menos aún, saben en donde buscar información clara sobre que es esta nueva “maravilla” de la tecnología.

¿Qué es?

En realidad, Ajax no existe. Es una óptica, una nueva forma de trabajo que engloba a diferentes tecnologías Web que existen desde hace varios años, como el lenguaje XHTML -sucesor del actual HTML- las hojas de estilo en cascada (CSS) y JavaScript, junto a otros artilugios más técnicos como son XMLHttpRequest o XSLT. De hecho, el propio término es la abreviatura de ‘Asynchronous Javascript + XML’.

La idea es la siguiente: en el modelo actual, la Web es un lugar muy hostil para desarrollar aplicaciones. Cada vez que el usuario ejecuta una acción -un clic, la presión de una tecla, el arrastre de un objeto- el navegador debe solicitar datos a otra computadora (el servidor) a través de Internet, para luego regenerar la página que el usuario está viendo. De esta forma, la interacción se transforma en un pimpón de datos que hacen imposible cualquier actividad continua, como un juego o una aplicación.

Para sortear este inconveniente, varias empresas desarrollaron plataformas que se cargan dentro del navegador, como Macromedia Flash o Java, previa descarga de los plugin respectivos y previo pago de las licencias para el desarrollo. Pero, ¿qué pasaría si tuviéramos estas herramientas ya disponibles en los computadores de cada usuario y en forma nativa?

El modelo de AJAX propone cargar y renderizar una página, luego sirviéndose de las tecnologías antes mencionadas y presentes en la gran mayoría de los navegadores. Mantenerse en esa página, mientras scripts y rutinas van al servidor buscando, en background, los datos que son usados para actualizar la página solo re-renderizando la página y mostrando u ocultando porciones de la misma. De esta forma, los usuarios pueden acceder de inmediato al contenido -como GoogleMaps, Gmail o el Outlook Web Access- sin interrupciones. Sorpresa: el público ya no tiene que esperar.

Google está haciendo una significativa inversión en el acercamiento Ajax. Desde Gmail a Google Maps, esta empresa alberga una docena de proyectos nuevos que han provocado gran entusiasmo en los usuarios.

Ajax y ASP.NET

Obviamente ASP.NET posee mucho soporte para Ajax, además este será mejorado en Whidbey.

Para su implementación, existe una libreria que puede ahorrarte mucho trabajo. Los pasos para utilizarla son los siguientes:

Paso 1 - Agregar una referencia al archivo ajax.dll, que puedes descargas desde http://ajax.schwarz-interactive.de/download/ajax.zip
Paso 2 - Configurar el HttpHandler en el archivo web.config










Paso 3 - En el pageload del form agregas el llamado a esta función

Ajax.Utility.RegisterTypeForAjax(this.GetType());

Paso 4 - Para hacer llamados asincrónimos al servidor deberá marcar las funciones con el siguiente atributo

[Ajax.JavascriptMethod()]
public int ServerSideAdd(int firstNumber, int secondNumber)
{
return firstNumber + secondNumber;
}

La envoltura creará automáticamente el código javascript con los parámetros y será llamada desde el cliente sin hacer postback
Paso 5 - Puedes llamar estas funciones desde el javascript en el cliente.

alert(ServerSideAdd(100,99));
o
ServerSideAdd(100,99, ServerSideAdd_CallBack);
function ServerSideAdd_CallBack(result){
alert(result);
}

También se pueden retornar objetos complejos.

Ver Ejemplos Online: C# - VB.NET

Puedes descargar un guía de uso en http://ajax.schwarz-interactive.de/download/AjaxGuide.doc y un video de demostración en http://ajax.schwarz-interactive.de/download/ajaxvideo.zip (aunque el video tiene algunos errores es muy interesante). Más información en Ajax.NET Blog

Links y fuentes:

- AJAX un nuevo acercamiento a Aplicaciones Web - Artículo original en inglés
- AJAX: Descubre qué se oculta tras esta vieja-nueva tecnología
- AJAX - Wikipedia en español
- AJAX - Wikipedia en inglés

En inglés

- Ajaxian.com
- Ajax, promise or hype?
- Ajax.NET Blog

1/10/2009

Bienvenida

Bienvenidos a este nuevo espacio donde podras conocer todo lo nuevo y lo viejo de todo este mundo de la programación..

Saludos a todos