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.
|
![Smilie](http://www.clubdelphi.com/foros/images/smilies/smile.gif)
¿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.