necesito ayuda visual basic 6

Iniciado por Siempre Azul, 29 Agosto 2012, 17:47 PM

0 Miembros y 1 Visitante están viendo este tema.

Siempre Azul

hola a todos, tengo ya programado mi programa que pide una clave y si es correcta me pasa hacia el programa principal, pero necesito el codigo para que el programa no me pida mas la clave cada vez que lo ejecute.
gracias de antemano.
Siempre Azul, Nunca Rojo.

seba123neo

si es un programa sin bases de datos, podes guardar algo en el registro de windows, alguna clave que diga que ya entraste, o en algun archvio .ini, tenes varias opciones, y nunca debes dejar claves hardcodeadas (fijas) en el codigo fuente.

saludos.
La característica extraordinaria de las leyes de la física es que se aplican en todos lados, sea que tú elijas o no creer en ellas. Lo bueno de las ciencias es que siempre tienen la verdad, quieras creerla o no.

Neil deGrasse Tyson

Siempre Azul

de verdad que no entiendo necesito un ejemplo...
Siempre Azul, Nunca Rojo.

Yoghurt

Cuando el Usuario ingrese la clave tu le haces un "hash" a la clave (para agregar mas seguridad puedes usar tambien otros datos como el del nombre del PC en el hash) y ese "hash" lo guardas en un archivo/registro de windows. Luego con ese "hash" encriptas la clave que usó el usuario y guardas tambien la clave cifrada en el archivo/registro windows.

Cada vez que el usuario abra el programa buscará la clave cifrada en el archivo/registro de windows y la decodificará con el "hash" y si al comprobar la clave resulta verdadera entonces abrirá la ventana principal.

Si queres ir mas profundo aún; una ves decifrada la clave le haces un "hash" a la clave (para agregar mas seguridad puedes usar tambien otros datos como el del nombre del PC en el hash) y si coincide con el "hash" guardado primeramente en el archivo/registro de windows entonces el programa corre en el PC correcto. Esto es útil si al "hash" original le agregas por ejemplo el nombre del PC, entonces al intentar crear el "hash" de comprobación y compararlo con el original se dara cuenta si corre en el PC correcto o corre en el PC del vecino :D



** El algoritmo MD5 esta disponible como módulo .bas en internet con codigo abrierto. Tambien puedes usar tu propio metodo claro, así no sabrán que es lo que has hecho. Aqui obtienes uno: http://www.bullzip.com/md5/vb/md5-vb-class.htm
** El nombre de la PC se puede obtener mediante Apis:
    Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
    Aqui un ejemplo: http://www.tek-tips.com/faqs.cfm?fid=429



...mmm me pregunto si es seguro este metodo.