Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MS SQL Server (https://www.clubdelphi.com/foros/forumdisplay.php?f=23)
-   -   Encriptar password (https://www.clubdelphi.com/foros/showthread.php?t=66154)

Ledian_Fdez 04-02-2010 16:01:36

Encriptar password
 
Hola amigos de este foro:
Como bien dice el título de este hilo ¿Como podría encriptar el contenido de un campo de una tabla (en este caso password)?

grasias de antemano
salu2
:rolleyes:

duilioisola 04-02-2010 16:06:47

Una forma muy sencilla es añadirle 1 a cada caracter del campo
Ejemplo:
IBM -- JCN
I+1 = J
B+1 = C
M+1 = N

Lo único que debes tener en cuenta es que si el caracter es el último, debes devolver el primero.

Para desencriptar, solo debes restar 1 a cada caracter.

duilioisola 04-02-2010 16:12:06

Otra forma es sumar caracteres de la palabra clave
Ejemplo
Código:

TEXTO A ENCRIPTAR + CLAVE
--------------------------
TEXTO A ENCRIPTAR
CLAVECLAVECLAVECL
--------------------
XXXXXXXXXXXXXXXXX


T+C=___
E+L=___
X+A=___
T+V=___
O+E=___
" "+C=___
...

Para desencriptar es el metodo invertido, restando la clave al texto encriptado

Ledian_Fdez 04-02-2010 16:25:48

encriptar
 
duilioisola muchas gracias por tu aclaración pero en si no es eso, preferiría usar alguna función o algo similar que ya exista en MSSQL Server, esa es mi idea. He escuchado del md5 y cosas similar.

¿Alguien sabe como hacerlo?

Reitero las gracias a duilioisola :)

delphi.com.ar 04-02-2010 16:28:23

Cita:

Empezado por Ledian_Fdez
Como bien dice el título de este hilo ¿Como podría encriptar el contenido de un campo de una tabla (en este caso password)?

El ejemplo que te pasó duilioisola, es una de las formas mas básicas de cifrar información, por desplazamiento. También es muy fácil hacer la ingeniería inversa para obtener la info. Normalmente para contraseñas se recomienda utilizar algoritmos que funcionen en un solo sentido, donde evaluarías el valor que ingreso el usuario cifrado contra el valor previamente cifrado de la base de datos, y nadie podría averiguar la password de ningún usuario.
¿Qué motor de base de datos utilizas?... te pregunto esto, porque hay algunos motores, por ejemplo MySql, que poseen funciones no reversibles como PASSWORD() o ENCRYPT() para tal fin.

Cita:

Empezado por duilioisola (Mensaje 352872)
Una forma muy sencilla es añadirle 1 a cada caracter del campo
Ejemplo:
IBM -- JCN
I+1 = J
B+1 = C
M+1 = N

Tu ejemplo me hizo acordar a:

I-1= H
B-1 = A
M-1 = L

Respuesta: HAL (ver link)

Ledian_Fdez 04-02-2010 16:46:00

Encriptar ?
 
delphi.com.ar tiene razón, disculpen tenia que empezar por ahí, utilizo MS- SQLServer 2000 y mi aplicación es en Delphi7.

En espera de su ayuda.
un delphisiano :confused:

rgstuamigo 04-02-2010 19:22:33

Creo que puedes chequear por aqui en especial este link.;).
Saludos...:)

delphi.com.ar 04-02-2010 21:49:46

Cita:

Empezado por rgstuamigo (Mensaje 352896)
Creo que puedes chequear por aqui en especial este link.;).

Esos links son de versiones posteriores de SQL Server 2000. Anteriormente estuve buscando, y no fue mucho así que recomiendo insistir, pero no encontré una forma nativa en SQL Server 2000 para cifrar información. Eso no quita que puedas armar un función o una función extendida (esta la puedes escribir en Delphi si te queda cómodo) implementando el método de encriptación que te plazca. Otra opción, puede ser que cifres tu información desde tu aplicación y la compares contra la información cifrada en la base de datos.

Te dejo un link con una lista de ejemplos de algoritmos de encriptación: Delphi Encryption Examples

Saludos!

droguerman 04-02-2010 23:24:04

Creo que la forma sería crear un procedimiento almacenado extendido (osea una DLL en el lenguaje que quieras) y registrarlo en el servidor SQL.


La franja horaria es GMT +2. Ahora son las 11:01:24.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi