FTP   CCD     Enlaces   Buscar   Trucos   Trabajo   Foros
 
 
 Secciones

Regístrate
   
 Usuario
 Pass
Recuérdame
 
   

 Novedades

Ajedrez
 
 Trucos
Palabras de búsqueda En títulos y autor En títulos texto y autor
Buscar en...  
Ordenación Fecha Título Autor Número Categoría
Para insertar trucos debes estar registrado, puedes registrarte aquí
 

 Últimos trucos
 Fecha  Num  Título Categoría  Autor
C
   
18/09/12 586 Prueba Delphi - Aplicación Yomero
0
 
05/03/10 585 Delphi al Límite 2009 Delphi - Varios Fernando Solís
6
 
18/01/10 584 Que un CheckListBox funcione como un CheckBox Delphi - Componentes rrf
4
 
06/04/09 582 Evitar multiples instancias de nuestra aplicacion Andreas Hausladen - Dr. Chamale
4
 
30/03/09 581 Eliminar acentos y otros agregados de un caracter/cadena Delphi 2009 Delphi - Cadenas Cheerpipe
2
 
16/03/09 580 Noche estrellada Delphi - Gráficos coso
4
 
26/02/09 578 Calendario de Semana Santa C++ Builder - Varios escafandra
3
 
17/02/09 577 Cuadros de diálogo con botones personalizados Delphi - Varios Lord Delfos
9
 
28/01/09 576 Evento OnMinimize del formulario Delphi - OOP Neftalí -Germán Estévez-
5
 
29/12/08 575 Pasar un HICON a un TIcon o a un archivo C++ Builder - Varios escafandra
0
 
26/12/08 574 Modificar tipo, estilo, tamaño de letra en TMenu y TPopUpMenu Delphi - OOP Dr. Jorge H Chamale
1
 
05/12/08 572 Crear objetos mediante su clase coso
0
 
01/12/08 571 Correr Directx9 en tu ejecutable C++ Builder - Varios Grand Master Dario
0
 
29/11/08 570 Query filtrada por texto Delphi - Bases de Datos coso
1
 
28/11/08 525 Función ftp_upload_file PHP - Varios Julián
1
 
26/11/08 560 WINI (Windows Ini Files) Delphi - Ficheros y disco Khronos
0
 
30/10/08 104 ¿Cómo puedo colorear un TButton? Delphi - OOP Julián
3
 
30/10/08 342 DCU no encontrado Delphi - Componentes Julián
0
 
30/10/08 524 Función recordcount PHP - Varios Julián
1
 
27/10/08 516 Graficas 3D Delphi - Gráficos coso
7
 
Encontrados 506, mostrando del 1 al 20

Cifrado de texto MUY simple
Datos del autor 889 Veces visitado
Fecha última revisión 08/06/2006 17:25
Autor Domingo Seoane
Enviado por seoane

En este truco vamos a utilizar el echo de que si se incializa el valor RandSeed con un mismo valor la funcion Random genera la misma secuencia de numeros "aleatorios". A parte de usar la propiedad: (a XOR b) XOR b = a

Sin mas preambulos:
Delphi [-]
function Cifrar(Texto: string; Clave: Longint): string;
var
  i: integer;
begin
  Result:= '';
  RandSeed:= Clave;
  for i:= 1 to Length(Texto) do
    Result:= Result + IntToHex(Byte(Texto[ i ]) xor Byte(Random(256)),2);
end;

function Descifrar(Texto: string; Clave: Longint): string;
var
  i: integer;
begin
  Result:= '';
  RandSeed:= Clave;
  while Length(Texto) > 0 do
  begin
    if not TryStrToInt('$'+Copy(Texto,1,2),i) then
    begin
      Result:= '';
      Exit;
    end;
    Result:= Result + Char(Byte(i) xor Byte(Random(256)));
    Delete(Texto,1,2);
  end;
end;


Ejemplo de uso:
Delphi [-]
var
  s: string;
begin
  s:= Cifrar('Hola mundo',1978);
  ShowMessage('Texto cifrado = ' + s);
  s:= Descifrar(s,1978);
  ShowMessage('Texto descifrado = ' + s);
end;
Versión imprimible

Comentarios de otros usuarios
Fecha 06/05/2007 00:34
Siempre me he preguntado hasta qué punto es seguro usar los números pseudoaleatorios... entre distintos sistemas operativos, por ejemplo. ¿Se generan con algún tipo de fórmula universal? La misma "semilla" ¿dará la misma secuencia de números en MS-DOS, Windows 95, Windows Vista? ¿Y en Linux?

Fecha 06/05/2007 04:37
Pues no, cada compilador suele usar algoritmos diferentes para generar números aleatorios. Es mas, un programa generado en distintas versiones de delphi puede llegar a generar números diferentes.

La solución pasa por crear nuestra propia función para generar números aleatorios, en los foros encontraras algunos ejemplos.


Tus comentarios son importantes
[CODE] [HTML] [DELPHI] [SQL] [B] [U] [I]
 


1996-2012 Club Delphi - El punto de encuentro de los programadores de habla hispana