Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-10-2006
pelaorb68 pelaorb68 is offline
Miembro
 
Registrado: oct 2005
Posts: 32
Poder: 0
pelaorb68 Va por buen camino
Entiendo perfectamente, lo que ahora no logro entender es que sentido tiene el FileStream......cuando hace casi lo mismo que TextFile......

Voy a intentar cifrar el texto antes de grabar........

Muchísimas gracias por sus prontas respuestas......
Responder Con Cita
  #2  
Antiguo 18-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Los stream son herramientas muy potentes, cuando trabajes un poco mas con ellos te darás cuenta . En cuanto a lo de cifrar el texto, dependiendo de la seguridad que necesites, puedes usar trucos sencillos como este http://www.clubdelphi.com/trucos/index.php?id=53 o incluso como este, que todavía es mas sencillo y evita ciertos problemas con el random al trabajar en diferentes compiladores:

Código Delphi [-]
function Cifrar(Texto: string; Clave: Byte): string;
var
  i: integer;
begin
  Result:= '';
  for i:= 1 to Length(Texto) do
    Result:= Result + IntToHex(Byte(Texto[ i ]) xor Clave,2);
end;

function Descifrar(Texto: string; Clave: Longint): string;
var
  i: integer;
begin
  Result:= '';
  while Length(Texto) > 0 do
  begin
    if not TryStrToInt('$'+Copy(Texto,1,2),i) then
    begin
      Result:= '';
      Exit;
    end;
    Result:= Result + Char(Byte(i) xor Clave);
    Delete(Texto,1,2);
  end;
end;

Si lo que necesitas es SEGURIDAD con mayúsculas, te sugiero utilices algún algoritmo de cifrado algo mas fuerte: AES, Serpent, etc ... Existen componentes para realizar ese tipo de cifrados. Si buscas en los foros encontraras información sobre alguno
Responder Con Cita
  #3  
Antiguo 18-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Disculpad si digo algo que verdaderamente sea absurdo, pero, ¿cómo es que yo recuerdo haber leído en algún libro (creo que sobre el lenguaje C), incluso en el que venían ejemplos, acerca de escribir en un archivo de texto los caracteres que fueran menester pero en (aquí el posible absurdo) binario, de tal modo que en realidad los caracteres fueran "ilegibles", salvo cuando los leíamos de nuevo nosotros, claro?

Es que intuyo que el compañero iba por ahí... no tanto por cifrar el contenido del archivo, que son dos cosas distintas, si es que esta que comento tiene razón de ser. Pero, ¡yo recuerdo haberlo leído! Una pena que no recuerde mucho más que eso...

No se me escapa que pueden escribirse "records" en un archivo de manera que los datos que se vean en el mismo sean un conglomerado de caracteres sin sentido aparente, pero, yo me estoy refiriendo (y creo que el compañero también) a hacerlo, digamos, directamente, sin "records", sino con funciones de "entrada/salida" para tal menester.

¿Qué decís vuestras mercedes? ¿Deliro?
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #4  
Antiguo 18-10-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 26
seoane Va por buen camino
Hombre Dec, me has dejado estrañado

En las cadenas de texto (strings) tanto en C como en delphi, se manejan de una forma similar (por lo menos internamente), cada caracter se corresponde con un byte. Si tu escribes esos bytes a un archivo, tal cual, tienes un archivo de texto completamente legible. El caracter 'A' es igual al byte 65, da lo mismo si en un archivo de texto guardas una 'A' que si en un archivo binario guardas el byte 65. La verdad me siento un poco tonto explicandote esto a ti que seguro ya lo sabes ....

Por ejemplo:
Código Delphi [-]
var
  F: File;
  T: TextFile;
  B: Byte;
begin
  AssignFile(T,'d:\1.txt');
  {$I-}
    Rewrite(T);
  {$I+}
  if IOResult=0 then
  begin
    Write(T,'Hola');
    CloseFile(T);
  end;

  AssignFile(F,'d:\1.bin');
  {$I-}
    Rewrite(F,1);
  {$I+}
  if IOResult=0 then
  begin
    B:= Ord('H');
    BlockWrite(F,B,1);
    B:= Ord('o');
    BlockWrite(F,B,1);
    B:= Ord('l');
    BlockWrite(F,B,1);
    B:= Ord('a');
    BlockWrite(F,B,1);
    CloseFile(F);
  end;
end;

En el ejemplo anterior, ambos archivos son iguales. Y el segundo no puede ser mas "binario" . La única forma de hacer ilegible una cadena es el cifrado, entendiendo que cifrado no solo incluye métodos de criptografía como AES, si no también métodos tan simples como cambiar cada carácter por otro.
Responder Con Cita
  #5  
Antiguo 18-10-2006
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.142
Poder: 36
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

Pues entonces debo estar confundiendo churras con merinas, como suele decirse.

Cita:
Empezado por Domingo
La verdad me siento un poco tonto explicandote esto a ti que seguro ya lo sabes ....
¡Huy, no creas! Yo es que engaño mucho.

Gracias Seoane por la explicación y todo.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Manejo enteros tipo short con TFileStream elcaracas C++ Builder 0 31-08-2005 16:24:05
Uso de TFileStream esocrates Varios 4 09-04-2005 23:47:17
Problemas al transferir un TFileStream JCR Internet 4 18-07-2004 03:25:38
Escribir un objeto en un TFileStream doverzhoff Varios 3 06-02-2004 04:00:33
TFileStream doverzhoff Varios 1 25-10-2003 18:49:38


La franja horaria es GMT +2. Ahora son las 20:44:03.


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