GeneXus - Encriptar (Otra vez)

 
Vista:

Encriptar (Otra vez)

Publicado por Leandro (146 intervenciones) el 06/11/2006 15:08:44
Estimados amigos del Foro, vuelvo a recurrir a sus conocimientos.
Mi problema es con la funcion ENCRYPT64. A continuación detallo mi situación....

Necesito dar altas de usuarios a un sistema. Tengo el Código de Usuario como clave, y además de otros campos, tengo el atributo Password, definido como Character(10). Ahí está mi problema, porque cuando lo encrypta anda bien, pero al momento de realizar la grabación en la base de datos propiamente dicha, me pone un cartel de excepción (Aquí en la empresa decimos "pinchó"). Lo que me llama la atención es que aplico el mismo proceso con un dato Character(40) y anda perfectamente. Mi pregunta es...

Que definición necesita la variable que se usa para la función GetEncryptionKey?? (&Key)
El resultado de la Encript64 puede recibirla un atributo?? Ej. Att = Encrypt64(Att, &key)

Se nota que tengo problemas en la definición de datos para esta función. Desde ya gracias por cuaquier ayuda
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Encriptar (Otra vez)

Publicado por Patricio Ojeda V (194 intervenciones) el 06/11/2006 17:10:02
La variable que se usa para la funcion GetEncryptionKey, yo la defino siempre como Character(200) y no tengo problemas tanto para Encriptar como para Desencriptar.

Lo de asignar el resultado del Encript64 a un atributo si se puede hacer. Tan solo debes hacer bien la asignacion, y obviamente guardar tambien la llave (&key) para despues desencriptar.

Saludos

Patricio Ojeda V
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encriptar (Otra vez)

Publicado por Leandro (146 intervenciones) el 06/11/2006 17:42:03
Gracias por la ayuda de siempre Patricio. Lo de guardar la clave no lo tenía en cuenta.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encriptar (Continuan los problemas)

Publicado por Leandro (146 intervenciones) el 06/11/2006 19:42:59
Segui el consejo anterior y definí la Clave "semilla" como un Character largo. El problema sigue. El tema es al momento de asignar la clave encriptada (en Variable) al atributo. Esto es lo que no anda (PASS es un atributo).

PASS = Encrypt64(&pass, &Clave)

PASS es un Character (10) y &pass es una variable basada en PASS (Por lo tanto de 10 caracteres de largo también).

El alta estoy tratando de realizarla con un Procedure (Clausula NEW).

Si alguien sabe cual es el problema me evitará que me sigan saliendo canas a mi corta edad jaja...Gracias anticipadas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encriptar (Continuan los problemas)

Publicado por Daniel Fernandez V. (3 intervenciones) el 16/11/2006 19:04:49
Mire he usado la encryptación de genexus ver 8.0 sin ningun Problema, como asi:
1) con un procedure genero la semilla usando la function pertinente.
1.1) la semilla solo la gaurdo a nivel de programa y no en la base de datos , por seguridad
2) esta semilla la uso en un procedure para encryptar el password leido de la pantalla.
3) solo guardo el password encryptado.
4) CREO UN PASWORD DE SUPERVISOR EN U PRCEDURE AISLADO, UNA SOLA VEZ
INGRESO DE NUEVOS USUARIOS
4) Al leer un password de la pantalla por ejemplo llamémosle PasswordL (puede ser, variable caracter 12) la leo de un work panel (usuario, password, fecha operacion, etc.)
5) Encryptemosla usando la function pertinente y almacenemos el resultado en la variable passwordE (caracter 12).
6) asignemos el PasswordE al Atributo a almacenar por ejemplo Password
7) grabemos usuario, pasword, fechaope, etc.
Siguiendo esta metodologia hago:
MODIFICACION DE PASSWORD

Para ingresar a la aplicacion:
1-Leo work panel con usuario, "passwordL", fechaope, etc.
2-Leo de disco password encryptado de usuario."Password"
3-encrypto PasswordL en una variable "PasswordE"
4-Comparo PasswordE de paso 3 con passwordL deben ser iguales sino, significa que se ha ingresado un password errado.

todo esto lo hago con iun procedure "validapass"

comuniqueme si le sirvio de algo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Encriptar (Continuan los problemas)

Publicado por Chu (1 intervención) el 24/01/2007 20:05:37
Una pregunta al respecto, al cambiar la semilla el texto generado por la encriptacion es diferente verdad? Si guardo en la base de datos el pass generado por el encriptado de una semilla "A" , y luego voy a comparar el mismo pasword contra la base, pero esta vez generado a través de la semilla "B", entonces no van a coincidir los strings verdad?

Alguien puede aclararme un poco esto?

Gracias!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar