Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   encryptado de datos (https://www.clubdelphi.com/foros/showthread.php?t=41830)

anubis 27-03-2007 08:15:24

encryptado de datos
 
Hola a todos. Estoy haciendo un programa en el que el acceso sera por clave, de administrador y usuarios. ME gustaria saber si se puede hacer que los datos esten encryptados aunque se entre por clave de usuario para evitar manipulacion desde fuera del programa o sin ser administrador.

dec 27-03-2007 08:52:44

Hola,

En Delphi cuentas con no pocas herramientas (clases, componentes, funciones, procedimientos, etc.) que puedes usar para cifrar archivos, cadenas, etc. Si buscas un poco por estos mismos Foros encontrarás seguro información al respecto.

Ahora habría que ver qué hay que cifrar, cómo y de qué manera. Y eso depende de lo que tengas pensado o necesites hacer. O sea, que me parece que has de proporcionar más información al respecto.

anubis 28-03-2007 00:07:39

gracias por contestar, la cuestion es que estoy haciendo un programa en delphi, con clave de entrada para usuario y administrador.......evidentemente el administrador podra borrar cosas pero los usuarios no, pero como alguno de los usuarios sabe algo de computacion seria encryptar los datos para evitar que manipule los datos ya sea dentro dle programa o intentando sacar la informacion desde el exterior y la verdad es una de las cosas que no se como va.
gracias por la ayuda

dec 28-03-2007 02:01:57

Hola,

Ya te digo. Hay no pocos componentes que pueden echarte una mano a la hora de cifrar datos en memoria o en un archivo, por ejemplo. Eres tú quien sabe de qué datos hablamos, cuándo se "sacan" de algún sitio esos datos... en fin, es cuestión de que donde digas "esto tendría que ser cifrado" utilizes alguno de los componentes que tienes disponibles. ¿No? :)

Si ya te pones a ello y encuentras algún problema... coméntalo en los Foros y alguien habrá que tal vez pueda echarte una mano.

ckaki 28-03-2007 15:38:09

A mi juicio tu lo que quieres es encriptar los caracteres de una contraseña en una tabla y a la hora de leerlas desencriptarlas. si es así puedes escribir a mi correo y te envio dos funciones que realizan estas operaciones.

Saludos
kaki

marcoszorrilla 28-03-2007 15:59:37

Esas funciones sería mejor publicarlas en los Foros para conocimiento general o al menos la idea de como actúan y no mandarlo únicamente al correo privado, pues el espíritu de los Foros es el compartir conocimientos entre todos.

Un Saludo.

ArdiIIa 28-03-2007 16:17:50

Algo sencillo:


Código Delphi [-]

function Encrypt(const S: String; Key: Word): String;
var
  I: integer;
begin
  SetLength(Result, length(S));
  for I := 1 to Length(S) do
    begin
     Result[i] := char(byte(S[i]) xor (Key shr 8));
     Key := (byte(Result[i]) + Key) * EncryptC1 + EncryptC2;
    end;
end;


function Decrypt(const S: String; Key: Word): String;
var
  I: integer;
begin
  SetLength(Result, length(S));
  for I := 1 to Length(S) do
    begin
      Result[i] := char(byte(S[i]) xor (Key shr 8));
      Key := (byte(S[i]) + Key) * EncryptC1 + EncryptC2;
    end;
end;


EncryptC1 y EncryptC2 son dos constantes a elección de cada uno... Y porsupuesto Key, también a elección de cada uno.

ckaki 28-03-2007 16:45:58

Marcos tiene toda la razón, además las funciones no se si las tomé del propio foro o de trucomannia

Código Delphi [-]
function Encript(aFrase: String; aClave: Integer): String;
Var
  aa: Integer;
begin
   Result:='';
   RandSeed:=aClave;
   for aa:=1 to Length(aFrase) do
       Result:=Result+Chr(Byte(aFrase[aa]) xor random(256));
end
;

Código Delphi [-]
function Decript(aFrase: String; aClave: Integer): String;
var
  aa: Integer;
begin
   Result:='';
   RandSeed:=aClave;
   for aa:=1 to Length(aFrase) do
       Result:=Result+Chr(Byte(aFrase[aa]) xor random(256));
end
;


Salud y suerte
Kaki

anubis 31-03-2007 06:28:36

os lo agradezco, siento no haber escrito antes pero no tenia internet. En cuanto lo pruebe os comento.

Muchas gracias otra vez por la ayuda.


La franja horaria es GMT +2. Ahora son las 18:29:20.

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