Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Mensajes - byronzapatillas

#1
hola de nuevo, he mejorado las funciones de cifrar y descifrar para que la pass sea alfa numérica:


function cifrar(cadena, Key: string): String;
var
i,j:integer;
temp:integer;
begin
  Result:='';
  for i:=1 to Length(cadena) do
  begin
   for j:=1 to length(key) do
   begin
     temp:= temp + ord(key[i]) + j mod i;
   end;
   Randseed:= temp*i+length(cadena);
   if i mod 2= 0 then
      Result:=Result+Chr(ord(cadena[i]) xor (temp*i+random(512)+length(cadena))+i)
   else
      Result:=Result+Chr(ord(cadena[i]) xor (randseed*i*random(1024)-length(cadena))-randseed)  ;
   end;
end;

function descifrar(cadena, Key: string): String;
var
i,j:integer;
temp:integer;
begin
  Result:='';
  for i:=1 to Length(cadena) do
  begin
   for j:=1 to length(key) do
   begin
     temp:= temp + ord(key[i]) + j mod i;
   end;
   Randseed:= temp*i+length(cadena);
   if i mod 2= 0 then
      Result:=Result+Chr((ord(cadena[i])-i) xor (temp*i+random(512)+length(cadena)))
   else
      Result:=Result+Chr((ord(cadena[i])+randseed) xor (randseed*i*random(1024)-length(cadena)))  ;
   end;
end;



Ejemplo de uso:


showmessage(cifrar('hola mundo', 'estaesmypass')); //el resultado seria: Þ')x›vïJù

showmessage(descifrar('Þ')x›vïJù', 'estaesmypass')); //el resultado seria: 'hola mundo'


Se agradecen los comentarios
#2
comentar no cuesta!! =)
#3
Criptografía / Nuevo algoritmo de encriptacion
27 Agosto 2012, 12:35 PM
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

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:



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!!