viernes, diciembre 02, 2005
martes, octubre 04, 2005
Merrimack I - EncryptBinary()

Una de las nuevas funciones disponibles desde la ultima actualizacion de ColdFusion (Merrimack) es la funcion EncryptBinary utilizada para encryptar datos binarios utilizando varios algoritmos.
El siguiente fragmento de código muestra un formulario similar al de la figura que permite seleccionar el algoritmo y encriptar el texto ingresado utilizando el algoritmo seleccionado.
<!---
EncryptBinary: Esta funcion encrypta datos binarios utilizando un algoritmo especifico.
Categoria: Funcion de seguridad
Sintaxis: EncryptBinary(bytes, key[, algorithm[, IVorSalt[, iterations]]]))
Algoritmos soportados: CFMX_COMPAT, AES, BLOWFISH, DES, DESEDE
--->
<cfparam name="result" default="">
<cfparam name="form.TextToEncrypt" default="">
<cfparam name="cfmxcompatKey" default="ClaveUtilizadaParaElAlgoritmo_CFMX_COMPAT">
<cfparam name="form.AlgoritmosDisponibles" default="AES">
<!--- Algoritmos --->
<cfset algorithm = ArrayNew(1)>
<cfset algorithms[1] = "CFMX_COMPAT">
<cfset algorithms[2] = "AES">
<cfset algorithms[3] = "BLOWFISH">
<cfset algorithms[4] = "DES">
<cfset algorithms[5] = "DESEDE">
<cfform action="index.cfm" name="frm1" format="flash">
<cfinput type="text" name="TextToEncrypt" width="300" label="Texto a encryptar" value="#form.TextToEncrypt#"> <br />
<cfselect name="AlgoritmosDisponibles"label="Algoritmos" width="200">
<cfloop from="1" to="#ArrayLen(algorithms)#" index="i">
<cfif algorithms[i] eq form.AlgoritmosDisponibles>
<cfoutput>
<option value="#algorithms[i]#" selected>#algorithms[i]#</option>
</cfoutput>
<cfelse>
<cfoutput>
<option value="#algorithms[i]#">#algorithms[i]#</option>
</cfoutput>
</cfif>
</cfloop>
</cfselect>
<!---
Cuando utilizamos CFMX_COMPAT no se puede utilizar la funcion generateSecretKey para
generar una clave.
--->
<cfif form.TextToEncrypt neq "">
<cfif form.AlgoritmosDisponibles eq "CFMX_COMPAT">
<cfset result = encryptBinary(form.TextToEncrypt,cfmxcompatKey, form.AlgoritmosDisponibles)>
<cfelse>
<cfset result = encryptBinary(form.TextToEncrypt,generateSecretKey(form.AlgoritmosDisponibles), form.AlgoritmosDisponibles)>
</cfif>
<cftextarea name="showResult" label="Resultado" width="300" height="100" value="#BinaryEncode(result,'hex')#"/>
</cfif>
<cfinput type="submit" name="Submit" value="Probar">
</cfform>
Nueva direccion parra CFEclipse update
jueves, septiembre 29, 2005
Merrimack
Macromedia recomienda a todos la actualizacion a Merrimack. El sitio web promete mejoras en la performance, estabilidad y seguridad. Merrimack incluye tambien los hot fix previos, por lo tanto si aun no instalo los ultimos, esta es quizas la mejor opcion.
Aun no descargo Merrimack (voy por el 23%), mas info pronto.
miércoles, septiembre 21, 2005
Tipos inferidos
Asi, en vez de escribir:
int a = 5;
string saludo = "Hola !";
podemos escribir:
var a = 5;
var saludo = "Hola !";
con los mismos resultados.
El ejemplo del Hands-On Lab C# 3.0 Language Enhancements muestra como utilizar dicha caracteristica:
class Program
{
static void Main(string[] args)
{
InitAndPrint();
Console.ReadLine();
}
static void InitAndPrint()
{
var i = 5;
var s = "Hello";
var d = 1.0;
var numbers = new int[] {1,2,3};
Console.WriteLine("i: " + i);
Console.WriteLine("s: " + s);
Console.WriteLine("d: " + d);
Console.WriteLine("numbers: ");
foreach(int n in numbers) Console.WriteLine(n);
}
}
El tipo var indica al compilador que infiera el tipo de las variables desde el tipo estatico de la expresion utilizada para inicializar la variable. Esta caracteristica toma su real importancia cuando tratamos con tipos anonimos
object UnTipoAnonimo = new {nombre="Gabriel", Apellido="Bulfon", edad=35};
asi, sera mas conveniente:
var UnTipoAnonimo = new {nombre="Gabriel", Apellido="Bulfon", edad=35};
Para poder utilizar el compilador de C# 3.0 es necesario descargarse el paquete C# LINQ Tech Preview de la pagina http://msdn.microsoft.com/netframework/future/linq/
martes, septiembre 06, 2005
VMWare es mejor para openSuSE
La performance de openSuSE es superior sobre VMWare sin tocar nada.
Instale mono desde el bin.
Descargue xsp/mod_mono desde http://www.go-mono.com/download/suse-93-i586/. Finalmente pude crear con MonoDevelop una pagina web con codebehind (no tuve mas tiempo).
Espero poder hacer funcionar apache con mod_mono y buscar un entorno de desarrollo definitivo (MonoDevelop aun es una opcion).
Tambien descargue el MonoUML (aun no lo pruebo).
mas novedades pronto...
lunes, agosto 29, 2005
Desastre
Intente por un rato repararlo...sin exito.
Descargue el VMWare WorkStation 5 para probar si corre mejor. Llevo dos intentos sin exito...Esto se esta poniendo dificil...
MIL
miércoles, agosto 24, 2005
IDEs para mono c# en linux
La otra opcion es MonoDevelop. Esta version es gratuita y es la que apoya la gente de mono.
Aun debo probar Eclipse y el plugin de improve-technologies para c#.
En cuanto al core de mono no fue un obstaculo. OpenSuSE 9.3 lo trae integrado. Si no esta instalado es suficiente con darse una vuelta por Yast y agregarlo (solo minutos).
En resumen, parece que las opciones gratuitas estan entre Eclipse / C# y MonoDevelop.
openSuSE 9.3
Ahora tengo SuSE funcionando sobre VPC2K4. Ni bien termine de instalar gnome (lo prefiero) comenzare a instalar mono.
mas info pronto...
sábado, agosto 20, 2005
Instalando openSUSE 9.3
Los errores van desde el cartel rojo hasta el "cuelgue" luego del segundo reboot.
Si alguien ha resuelto un problema similar me gustaria compartiera conmigo como lo ha hecho.
Debo instalar SUSE + MONO + MySQL + APACHE para un trabajo final de la facultad.
Espero tener novedades pronto...
Archivo del Blog
-
►
2007
(19)
- ► 11/11 - 11/18 (1)
- ► 11/04 - 11/11 (1)
- ► 10/28 - 11/04 (1)
- ► 10/07 - 10/14 (1)
- ► 09/30 - 10/07 (1)
- ► 06/03 - 06/10 (1)
- ► 03/04 - 03/11 (1)
- ► 02/18 - 02/25 (3)
- ► 02/11 - 02/18 (2)
- ► 02/04 - 02/11 (1)
- ► 01/28 - 02/04 (2)
- ► 01/21 - 01/28 (4)
-
►
2006
(18)
- ► 10/29 - 11/05 (1)
- ► 10/15 - 10/22 (2)
- ► 07/23 - 07/30 (1)
- ► 07/09 - 07/16 (2)
- ► 06/11 - 06/18 (1)
- ► 06/04 - 06/11 (2)
- ► 05/28 - 06/04 (1)
- ► 05/21 - 05/28 (1)
- ► 03/19 - 03/26 (1)
- ► 03/05 - 03/12 (3)
- ► 02/12 - 02/19 (1)
- ► 01/15 - 01/22 (1)
- ► 01/08 - 01/15 (1)
-
▼
2005
(11)
- ► 09/25 - 10/02 (1)
- ► 08/28 - 09/04 (1)