Verificar Encriptación


Objetivo: Verificar Encriptación
DIM Archivo AS File
DIM a AS Integer = 0
DIM sLine AS String
DIM Contenido AS String = ""

OPEN User.Home & "/MiArchivo.txt" FOR CREATE AS #Archivo
PRINT #Archivo, Crypt.MD5("gambas")
CLOSE #Archivo

'Abrir el archivo y leer su contenido

Archivo = OPEN User.Home & "/MiArchivo.txt" FOR INPUT

WHILE NOT Eof(Archivo)
LINE INPUT #Archivo, sLine
IF sLine <> "" THEN
Contenido = Crypt.DES(sLine)
ENDIF
WEND
IF Crypt.Check("Gambas2", Contenido) = TRUE
Message("Si")
ELSE
Message("NO")
ENDIF


Hola compañero me gustaría saber porque dice que Si es correcta la contraseña si no lo es, he probado eliminado espacio al iniciar y al final y nada también .

Gracias por las luces que me puedan dar.

Perfil MP  
Objetivo: Re: Verificar Encriptación
Hola.

El problema es que estas encriptando 2 veces la cadena, una vez con MD5 y luego con DES. Tienes que elegir una de las 2.
El código quedaría así:

DIM Archivo AS File
DIM a AS Integer = 0
DIM sLine AS String
DIM Contenido AS String

OPEN "/home/pepe/Escritorio/MiArchivo.txt" FOR CREATE AS #Archivo

PRINT #Archivo, Crypt.MD5("gambas")


Archivo = OPEN "/home/pepe/Escritorio/MiArchivo.txt" FOR INPUT

WHILE NOT Eof(Archivo)
LINE INPUT #Archivo, sLine
IF Crypt.Check("gambas", sLine) = TRUE
Message("Son Distintas")
ELSE
Message("Son Iguales")
ENDIF


WEND


Saludos

última edición por abarzuaf el Viernes, 02 Julio 2010, 02:40; editado 1 vez
Perfil MP  
Objetivo: Re: Verificar Encriptación
Ok gracias compañero, lo probare...

Perfil MP  
Objetivo: Re: Verificar Encriptación
probé el ejemplo y si hace correcta la validación, pero lo que no entiendo porque en comparación de variables me sale que si es verdadero cuando no lo es.

Que es lo que tengo:

Tengo un campo en una tabla donde guardo la clave encriptada, esto lo hago con Crypt.MD5("dddd")
Cuando carga el programa se va al registro donde esta la clave y la almaceno en una variable publica para tenerla disponible.

Luego cuando deseo compararla sólo digo ejemplo:

IF Crypt.Check(TextBox1.text, FMain.ClaveAcceso) = TRUE THEN

.....


y allí siempre lo digitado es verdadera aunque sea solo un espacio en blanco, que sucede, es que sólo hace comparaciones correctas cuando se almacena en archivos que no creo que sea así.


Gracias por alguna ayuda recibida nuevamente.


1.

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4972s (PHP: -81% SQL: 181%)
Consultas SQL: 44 - Debug off - GZIP Activado