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 12-03-2009
JXJ JXJ is offline
Miembro
 
Registrado: abr 2005
Posts: 2.475
Poder: 24
JXJ Va por buen camino
cifrar y descifrar "en memoria"

¿eso como se hace?
Responder Con Cita
  #2  
Antiguo 12-03-2009
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,

Tienes razón, no suena muy descriptivo eso. Pero, es que no me sabré explicar de otro modo. Se trataría, básicamente, de que el archivo "en claro" no residiera nunca en el disco duro. Cargar el archivo cifrado en una variable (en memoria) y descifrarlo ahí. Creo que los componentes que he venido usando para estos menesteres permiten algo así, pero, ahora mismo tampoco estoy seguro al cien por cien.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 12-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
¿Y utlizando Streams?
(1) Cargar en un Stream la imagen.
(2) Guardar el tamaño
(3) Añadir el Texto
(4) Guardar el tamaño
(5) Aplicarle algoritmo de encriptación con key
(6) Guardarlo a disco.

Eso es la teoría.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 12-03-2009
cmm07 cmm07 is offline
Miembro
 
Registrado: nov 2007
Posts: 526
Poder: 19
cmm07 Va por buen camino
tantos MAXIUM ?????????,
Responder Con Cita
  #5  
Antiguo 12-03-2009
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,

Ya ves, hay personas a las que que no basta con tener doble personalidad.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #6  
Antiguo 12-03-2009
Avatar de MAXIUM
MAXIUM MAXIUM is offline
Miembro
 
Registrado: may 2005
Posts: 1.503
Poder: 23
MAXIUM Va camino a la fama
Gracias, vamoS a probrar.
Responder Con Cita
  #7  
Antiguo 12-03-2009
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 19.449
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
A ver no estoy muy puesto en el tema, pero lo que quería explicar es más o menos esto. Seguro que es optimizable, ya digo que no estoy muy puesto, pero así creo que se entiende mejor:

(1) Poner un TImage en el form, con un bitmap.
(2) POner un memo con un texto.
(3) Ejecutar el código siguiente.

El resultado es un fichero en disco con:

10 dígitos correspondiente al tamaño del memo
10 dígitos correspondientes al tamaño de la imagen
El contenido del memo
El contenido de la imagen

Si lo abrís con un editor hexadecimal se ve perfectamente.
Si antes de guardar se le aplica un algoritmo y listo.

Con los dos tamaños (ocupan cada uno 10 posiciones) se debería poder hacer el paso contrario sin problemas.

Código Delphi [-]
var
  i:Integer;
  s:Int64;
  Str:String;
  buff: array [0..9] of byte;
  f1, F2: TFileStream;
  s1:TMemoryStream;
  buffmemo: array [0..4000] of byte;
  sMemo:Integer;
begin

  f1 := TFileStream.Create('.\I.dat', fmCreate);
  f2 := TFileStream.Create('.\M.dat', fmCreate);
  s1 := TMemoryStream.Create;


  // MEMO
  Memo1.Lines.SaveToStream(f2);
  s := sizeof(f2);
  for i := 0 to Min(4000, Length(Memo1.Lines.TExt)) do begin
    buffmemo[i] := Ord(Memo1.Lines.Text[i + 1]);
  end;
  sMemo := i;
  Str := DupeString('0', 10) + IntToStr(sMemo);
  Str := Copy(Str, Length(Str) - 10 + 1, 10);

  // Escribir Tamaño Memo
  for i := 0 to 9 do begin
    buff[i] := Ord(Str[i + 1]);
  end;
  // Escribimos el tamaño
  f1.WriteBuffer(buff, 10);

  // Imagen
  Image1.Picture.Bitmap.SaveToStream(s1);

  s := s1.Size;
  Str := DupeString('0', 10) + IntToStr(s);
  Str := Copy(Str, Length(Str) - 10 + 1, 10);

  // Escribir Tamaño imagen
  for i := 0 to 9 do begin
    buff[i] := Ord(Str[i + 1]);
  end;
  // Escribimos el tamaño
  f1.WriteBuffer(buff, 10);


  // escribir el memo
  f1.WriteBuffer(buffmemo, sMemo);
  // escribir la imagen
  Image1.Picture.Bitmap.SaveToStream(f1);

  FreeAndNil(s1);
  FreeAndNil(f2);
  FreeAndNil(f1);
Archivos Adjuntos
Tipo de Archivo: zip Imagenes Texto Stream.zip (5,5 KB, 10 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
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
Abrir archivos con nombres de archivos de otra codificación. matabyte Windows 2 01-05-2008 01:40:13
Atributo de archivos de imagenes (JPG) Neeruu Varios 4 26-02-2008 05:29:28
imagenes pablo Gráficos 2 23-05-2004 12:12:09
Imagenes Aztaroth C++ Builder 1 03-04-2004 02:38:29


La franja horaria es GMT +2. Ahora son las 21:27:16.


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