hola amigos, hoy les traigo un pequeño algoritmo de cifrado y desencriptación que puede ser muy útil para cifrar archivos, ejecutables, cadenas de texto y todo lo que quieran. Lo escribí en delphi pero es sencillo de entender el código:
Función para cifrar
Ahora vamos con la función para descifrar:
Este algoritmo se basa en el cifrado XOR combinado con trasposición, haciendo de él un fuerte método de cifrado. A ver si le echan un vistazo e intentan mejorarlo o buscan posibles vulnerabilidades. Saludos!!
Función para cifrar
Código [Seleccionar]
function cifrar(cadena: String; Key: Integer): String;
var
i:integer;
begin
Result:='';
for i:=1 to Length(cadena) do
begin
RandSeed:= key*i+length(cadena);
if i mod 2= 0 then
Result:=Result+Chr(ord(cadena[i]) xor (key*i+random(512)+length(cadena))+i)
else
Result:=Result+Chr(ord(cadena[i]) xor (key*i*random(1024)-length(cadena))-randseed) ;
end;
end;
Ahora vamos con la función para descifrar:
Código [Seleccionar]
function descifrar(cadena: String; Key: Integer): String;
var
i:integer;
begin
Result:='';
for i:=1 to Length(cadena) do
begin
RandSeed:= key*i+length(cadena);
if i mod 2= 0 then
Result:=Result+Chr((ord(cadena[i])-i) xor (KEY*i+random(512)+length(cadena)))
else
Result:=Result+Chr((ord(cadena[i])+randseed) xor (KEY*i*random(1024)-length(cadena))) ;
end;
end;
Este algoritmo se basa en el cifrado XOR combinado con trasposición, haciendo de él un fuerte método de cifrado. A ver si le echan un vistazo e intentan mejorarlo o buscan posibles vulnerabilidades. Saludos!!