Sistema Contraseña y Anti Distribución

Ingeniero, muy buen día.
El presente es con el fin de solicitarle colaboración en los siguiente:
1° Cómo hacer o donde guardar la información de los usuarios de un sistema, para que no se vean las contraseñas, pues si la almaceno en una tabla corriente estas quedaría públicas.
2° Qué se debe hacer para que no se distribuya un programa sin mi autorización. Pienso en que el programa valide la IP de la máquina o busque una archivo oculto para que se pueda ejecutar.
Si tiene documentación al respecto y desea compartírmela, la puede enviar a [email protected]
Ingeniero, quedo a la espera de su colaboración al respecto.
Atentamente,
Edwin yuliano López s.
Santiago de Cali, Valle, Colombia.
Respuesta
1
1.- Hay muchas utilerías y rutinas para encriptar datos en el mercado y que son gratis, la cual las puedes buscar por internet y usar la qué más te interesa.
2.- Puedes validar el sistema a que funcione solo con las máquinas "usuario" que tengan el serial del disco en tu tabla "control". Para ello, primero (con una rutina que te escribo más adelante) obtén el serial del disco duro de la máquina que tendrá tu sistema y lo almacenas en una tabla control de tu sistema. Luego, en el ejecutable, pregunta si ese serial del disco duro se encuentra en tu tabla "control" y si no es así mandas el mensaje más feo para que se asusten. A continuación la rutina:
Listo (3/4/2003 17:29:0)
El código invoca la api de windows para obtener el serial del disco y otras cosas más...
A continuación:
*!* Declaración
Declare Integer GetVolumeInformation in WIN32API ;
String @lpRootPathName, ;
String @lpVolumeNameBuffer, ;
Integer nVolumeNameSize, ;
Integer @lpVolumeSerialNumber, ;
Integer @lpMaximumComponentLength, ;
Integer @lpFileSystemFlags, ;
String @lpFileSystemNameBuffer, ;
Integer nFileSystemNameSize
*!* Proceso
cString = ""
cRoot = "C:\"
cVolumeName = Space(256)
nVolumeNameSize = 256
nVolumeSerial = 0
nMaxCompLength = 256
nFileSysFlag = 0
cFileSysNameBuf = Space(256)
nFileSysNameSize= 256
nReturn = 0
nReturn = GetVolumeInformation(@cRoot, @cVolumeName, nVolumeNameSize, ;
@nVolumeSerial, @nMaxCompLength, ;
@nFileSysFlag, @cFileSysNameBuf, ;
nFileSysNameSize)
If nReturn >= 0
If nVolumeSerial < 0
nVolumeSerial = 4294967296 + nVolumeSerial && 2^32 = 4294967296
EndIf
cString = "Drive name: " + AllTrim(cRoot) + Chr(13) + ;
"Vol name:" + ;
Left(AllTrim(cVolumeName), Len(AllTrim(cVolumeName)) -1) + Chr(13) +;
"Max #/chars in vol name: " + ;
AllTrim(Str(nVolumeNameSize)) + Chr(13) + ;
"Vol Serial #: " + AllTrim(Str(nVolumeSerial)) + Chr(13) + ;
"Max #/chars in dir/file names: " + ;
AllTrim(Str(nMaxCompLength)) + Chr(13) + ;
"File Sys Flags: " + AllTrim(Str(nFileSysFlag)) + Chr(13) + ;
"File Sys type: " + ;
Left(AllTrim(cFileSysNameBuf),Len(AllTrim(cFileSysNameBuf))-1)+ ;
Chr(13) + ;
"File Sys Name Size: " + AllTrim(Str(nFileSysNameSize))
EndIf
*!* Mensaje que te muestra la información. Allí podrás ver, entre el serial del disco, la etiqueta, el tipo de sistema de archivos, etc.
MessageBox(cString, 64, "Information")
Esto invoca la API de windows para obtener el serial del disco duro.
Alfredo García
Director de Tecnología.
Ingeniero, de verdad que quedo muy pero muy agradecido con su colaboración. Esto es de mucha ayuda para evitar que se distribuya el trabajo y esfuerzo de las personas indiscrimidamente.
Saludos...
Edwin Yuliano López S.
Santiago de Cali, Valle, Colombia.

1 respuesta más de otro experto

Respuesta
1
1. Si tu sistema funciona en red como cliente-servidor, lo conveniente es almacenar los usuarios y contraseñas (encriptadas) dentro de la base de datos del servidor, ahora que si corre localmente lo conveniente es encontrar una herramienta de encriptamiento, actualmente en internet ya existen muchas herramientas de encriptamiento gratuitas, que muy bien podrías utilizar para encriptar tus datos.
2. Normalmente se utiliza el registro de Window's, manipulando la información mediante claves y llaves (todo dentro del registro)
Estas claves y llaves puedes combinarlas, ya sea con información física del equipo (numero de disco duro) + una clave que tu armes por ejemplo el IP. Luego entonces:
a) Cuando corras por primera vez el programa, cree una clave y la registras dentro del registro de Windows y creas un formulario donde puedas teclear la contrallave que abrirá el sistema.
b) Creas una llave o un generador de llaves, que cuando la introduzcas rompa la clave registrada dentro de windows y tengas acceso al sistema.
Espero haberme dado a entender o tan siquiera darte una idea de como realizar lo que necesitas.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas