Ir al contenido principal

Entradas

Desencriptar cadena de texto con C#

Podemos desencriptar cualquier cadena de texto con C# en base a una key de encriptación. El siguiente código espera un parámetro texto del que queremos desencriptar, la key secreta de encriptación, y el CyphMode). Podemos desencriptar  cualquier cadena de texto con  C#  en base a una  key de encriptación . El siguiente código espera un parámetro texto del que queremos desencriptar, la key secreta de encriptación, y el CyphMode). La función devolverá el valor  desencriptado . Nos puede venir bien si queremos desencriptar id's de valores, por ejemplo... public static string Decrypt(string p_InputString, string p_SecretKey, CipherMode p_CyphMode) { if (String.IsNullOrEmpty(p_InputString)) { return String.Empty; } else { StringBuilder ret = new StringBuilder(); byte[] InputbyteArray = new byte[Convert.ToInt32(p_InputString.Length) / 2]; TripleDESCryptoServiceProvider Des = new TripleDESCryptoServiceProvider(); MD5CryptoServiceProvider hash...

Declaración de métodos en C#

Cuando uno plantea una clase en lugar de especificar todo el algoritmo en un único método es dividir todas las responsabilidades de las clase en un conjunto de métodos. Un método hemos visto que tiene la siguiente sintaxis: public void [nombre del método]() { [algoritmo] } Veremos que hay varios tipos de métodos: Métodos con parámetros. Un método puede tener parámetros: public void [nombre del método]([parámetros]) { [algoritmo] } Los parámetros los podemos imaginar como variables locales al método, pero su valor se inicializa con datos que llegan cuando lo llamamos. Problema 1: Confeccionar una clase que permita ingresar valores enteros por teclado y nos muestre la tabla de multiplicar de dicho valor. Finalizar el programa al ingresar el -1. Programa: using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Tabla { class TablaMultiplicar { public void CargarValor() { int valor; ...

Hacer una peticion Ajax con Jquery

Una vez mas les traemos un post acerca de las bondades de AJAX el cual hemos hablado en posts anteriores... Hemos hablado de como hacer peticiones AJAX con JQUERY que es algo que nos facilita mucho la vida al momento de actualizar solo una parte de la web, ya que esto lo podemos realizar Asyncronamente.  jQuery, como framework de JavaScript nos permite realizar esta tarea de forma sencilla, evitando codificar directamente la petición AJAX en JavaScript . Hoy vamos a realizar una petición a una página para devolver el contenido, que incluiremos en una capa de nuestra página. Lo primero será montar nuestra página HTML . Con un button y un div . <div id="mensaje"></div> <button id="cargar">Cargar</button> Lo siguiente será inicializar jQuery y empezar a generar el código. Cargamos la librería jQuery mediante la etiqueta SCRIPT . <script type="text/javascript" src="jquery.js"></...

Imagen: Editar, Recortar, Redimencionar y Guardar en Carpeta

 En C #, puede ser agotador para hacer ciertas funciones de edición de imagen utilizando GDI +. Este blog tiene algunos métodos de edición divertidas que pueden ser útiles a veces. También he incluido un bonito y pequeño programa en C # para mostrar toda la funcionalidad de los siguientes métodos. Guardar un Jpeg dentro de una carpeta. Lo primero a hacer es configurar la firma del método con los parámetros de entrada. Se trata de la ruta de archivo de salvar (cadena), la imagen de guardar (System.Drawing.Bitmap), y un ajuste de calidad (largo). private void saveJpeg(string path, Bitamp img, long quality) Lo proximo a hacer es configurar la información del codificador para guardar el archivo. Esto incluye establecer un EncoderParameter para la calidad de la imagen JPEG. El siguiente paso es obtener la información codec de su equipo para jpegs. Hago esto con una función para recorrer las disponibles en el equipo y asegurarse que el codec jpeg está ahí. La línea de bajo se ase...

Eventos de una Página Web (WebForm ASP.NET)

Este pequeño post es para aclarar algunos conceptos sobre el ciclo de vida de una página web ASP.NET (WebForm). Nota: A este post le iré agregando mas contenido poco a poco, con los propios comentarios de los lectores y mis experiencias diarias sobre el ciclo de vida y los distintos estados de una pagina. Eventos más importantes de la pagina en orden de ejecución:     PreInit     Init     Load     PreRender PreInit El evento PreInit ocurre antes de la inicialización de los controles de la pagina. Normalmente es usado para añadir dinámicamente controles a la pagina, porque añadiéndolos aquí garantizamos que a dichos controles se les apliquen adecuadamente los Skins del Theme definido (si no hemos definido ningún Theme daría un poco igual añadirlos aquí o en Init, por ejemplo). Además puede usarse para definir dinámicamente (programáticamente) la MasterPage y el Theme de la pagina. Init Este evento ocurre de...

Entendiendo los extensores en c sharp

Los métodos extensores son un recurso de C# a partir de la versión 3.0 y permite añadir métodos a tipos ya definidos sin tener que crear un tipo heredero, recompilar o modificar al tipo original de una forma muy sencilla y con una sintaxis casi idéntica a la forma tradicional de declarar un método. En otras palabras, si queremos añadirle una funcionalidad a una clase o tipo ya definido anteriormente, no tendremos que modificarla, al no ser que vayamos a usar variables privadas de la clase o cosas por el estilo. Se definen como métodos estáticos pertenecientes a una clase estática y no genérica; pero se llaman de la forma tradicional, como métodos de una instancia de una clase. Se les pasa como primer parámetro this seguido del tipo de la clase a la cual se va a añadir el método; aquí tenemos un ejemplo de añadirle un método a la clase String de .Net: public static class MyExtensions { public static int WordCount(this String str) { //Split separa la cadena en un ...

Método Parse() o los métodos de la clase Convert

Vamos arrojar un poco de luz sobre las diferencias entre utilizar el método Parse() de las estructuras de tipos de .NET o utilizar los métodos de la clase  System.Convert . En realidad parece que hacen lo mismo pero existe una gran diferencia.Supongamos que dejamos que un usuario introduzca un valor numérico por pantalla y queremos realizar cálculos con ese valor. Por lo tanto, el valor introducido por el usuario será del tipo System.String y deberemos convertirlo a un tipo de valor numérico, por ejemplo System.Int32 . En definitiva queremos saber que diferencia hay entre ejecutar estas dos lineas de código: int  valorA  =  Convert.ToInt32(valorUsuario) ; int  valorB  =  Int32.Parse(valorUsuario) ; Cuando utilizamos la segunda opción, el método Parse() , si el usuario no ha introducido ningún valor ( null ) recibiremos una excepción del tipo System.FormatException . Lo que indica que el  formato del argumento no cumple las es...