Aquí encontrarás todo lo relacionado a la tecnología, computación, informática y demás. Enterate de las noticias del momento en cuanto a tecnología se refiere.





Encriptación de Texto en C# con Mono

La encriptación en el área de seguridad es muy importante, y más aún en una aplicación a la hora de guardar contraseñas en una base de datos.

Aquí les dejo un proyecto con el cuál podemos encriptar y desencriptar texto con la ayuda de algunas clases que se encuentran en .NET, me basé en ésta página Using System.Linkecubeko

Para comenzar utilizaremos los siguientes espacios de nombres:

using System.Text;
using System.Security.Cryptography;

Y con las siguientes clases:

MD5CryptoServiceProvider (Clase)

Calcula el valor de hash MD5 (Message-Digest Algorithm 5), de los datos de entrada utilizando la implementación proporcionada por el proveedor de servicios criptográfico (CSP). Esta clase no se puede heredar.

UTF8Encoding (Clase)

Representa una codificación UTF-8 de caracteres Unicode.

TripleDESCryptoServiceProvider (Clase)

Define un objeto contenedor para obtener acceso a la versión del proveedor de servicios criptográficos (CSP) del algoritmo TripleDES (algoritmo que hace triple cifrado del algoritmo Data Encryption Standard) No se puede heredar esta clase.

CipherMode (Enumeración)

Especifica el modo de cifrado de bloques que se utilizará para cifrar.
PaddingMode (Enumeración)

Especifica el tipo de relleno que se aplica cuando el bloque de datos del mensaje es más pequeño que el número total de bytes necesarios para una operación criptográfica.

ICryptoTransform (Interfaz)

Define las operaciones básicas de las transformaciones criptográficas.

Gracias al proyecto mono, podemos crear esta clase y liberarla bajo la licencia GPL.

Aquí les dejo la clase cifrado ya codificada: cifrado.cs

Para comenzar, creamos un proyecto nuevo C# con Gtk# en Monodevelop y creamos una forma más ó menos como ésta:

Para facilitar mejor las cosas he creado una dll con las clases para encriptar y desencriptar, primero nos descargamos la dll: criptologia.dll, luego la agregamos como referencia a nuestro proyecto dando click derecho en Referencias y luego Editar preferencias… .:

Ahora en el evento Click del Botón que dice encriptar, ponemos lo siguiente:

criptologia.Cifrado oCifrado = new criptologia.Cifrado();
entry2.Text = oCifrado.Encriptar(entry1.Text);

Y en el evento Click del Botón desencriptar, ponemos:

criptologia.Cifrado oCifrado = new criptologia.Cifrado();
entry3.Text = oCifrado.Desencriptar(entry2.Text);

Aquí les dejo el proyecto terminado: encriptacion.zip.

Conclusión:

Con ésto podemos agregar mayor seguridad en nuestros aplicaciónes ó sistemas, gracias a mono nuestra DLL es libre y se puede utilizar con cualquier propósito, estudiar, modificar y redistribuir.

Proyecto Dado en openGL con Mono

Les comparto otro proyecto hecho en openGL con Mono, ahora se trata de un simple dado, si tienen duda de como crear un proyecto de openGL en mono, visiten éste tutorial: Programación openGL en Mono.

mono-dado

Aquí les dejo el proyecto para su descarga:

Download Proyecto dado

Ubuntu acepta Mono

Volviendo a las controversias sobre si añadir o no Mono por default en las distribuciones linux, pues un mensaje en las listas de ubuntu dice lo siguiente:

“Una preocupación común sobre Mono es la posición de las patentes, principalmente debido al creador del lenguaje C# y los asociados estándares de la ECMA.

El proyecto Ubuntu se toma a las patentes seriamente, y el Ubuntu Technical Board es quien se encarga de las alegaciones de violación de patentes. Si un poseedor de los derechos afirma que se infringió una patente en el código que distribuímos, el Technical Board se encargará de revisar la queja.

El Ubuntu Technical Board no ha recibido declaraciones de infracciones sobre el stack de Mono, y no está al tanto de hayan sido recibidas por otros proyectos similares.

Es una práctica común en la industria del software registrar patentes como una protección contra la litigación, en lugar de hacerlo con la intención de litigar. Así, la simple existencia de una patente, sin una alegación de infracción, no es razón sufiente para garantizar la exclusión del proyecto Ubuntu”.

Dado todo lo anterior, el Ubuntu Technical Board no ve razones para excluir a Mono o a las aplicaciones basadas en él de su archivo o de su instalación por defecto.

GNOME 3.0 con más aplicaciones hechas en Mono

Y siguiendo con la controversia de Richard Stallman encontra de Mono, un miembro de la GNOME Foundation, ha mencionado que GNOME 3.0 incluirá más aplicaciones hechas con Mono:

“La única aplicación Mono que ya es parte del conjunto del lanzamiento del escritorio GNOME es Tomboy. Hay otras aplicaciones Mono populares entre los usuarios de GNOME, incluyendo a F-Spot, Banshee y GNOME DO, pero por el momento, Tomboy es la única que ha sido incluída. Sin embargo, entre este momento y GNOME 3.0, eso podría cambiar”.

“El proyecto GNOME considera para su inclusión en el escritorio a aplicaciones escritas en C, C++, Python o Mono”.

Aquí les dejo un video de lo que sería GNOME 3.0

Todos los derechos reservados. Tecnologia.