Ver Mensaje Individual
  #10  
Antiguo 08-09-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Cita:
Empezado por Ñuño Martínez
Una anotación respecto al código de seoane: usar la función Random es peligroso. La razón es que existen múltiples algoritmos para generar números (pseudo)aleatorios y ya se han dado casos de que se ha re-escrito las librerías de algún compilador y eso dió problemas en los algoritmos de encriptación<->desencriptación. Si es posible busca algún algoritmo que genere números aleatorios e implementalo tú mismo.
¿que te parece esta otra?, ya no uso el random. Ahora la clave es un string.

Código Delphi [-]
procedure Cifrar(Buffer: PByte; Key: String; Count: Cardinal);
var
  i: integer;
begin
  if Length(Key)=0 then
    Exit;
  i:= 1;
  while Count > 0 do
  begin
    Buffer^:= Buffer^ XOR Byte(Key[i]);
    inc(Buffer);
    dec(Count);
    i:= (i mod Length(Key)) + 1;
  end;
end;

Ya se que son algoritmos muy simples, pero ya que la clave se va a guardar en el ejecutable, no hay necesidad de usar algoritmos mas complejos.
Responder Con Cita