Saturday, 31 January 2009

Lista de Hashes más y menos comunes

Hashes Comunes (ejemplos)
md51d449d29638043f9d0d8d330b4729e53
md478b2281ee375b1a14dbc56090af03254
md2d753326972bc5301088e75f3994c7373
sha17276e1d0040023370cbc5074680a1d39da9f1f29
sha256f5004a5d921c79a8b6de9fce0f53dafa365b97982126f269574b3fb8937e6aef
sha384750ec2da5d3782e6e17c1f120a7b12d72564a263fa73fbd0e73b8c0290168b262a814c
36c49acba70e3cbb21a935b2fb
sha5120436a00f67480ebdadfee6c2b28b1b34175182d83e1067fbad873e874c6ebd5622a926
4532d8a6020627ab83816d53bac4ebc2dd9b38210464b95cb33e7fe3ef
LMebc99fc3388f061d198470b83d7d8904
NTc08b699c89d2d93f2698c5bb42eddfe6
base_64NjhDQzczQ0QwNDZENDEwNEQ5MzcyQzA4MDM0MzEwNTI=
rot_1368PP73PQ046Q4104Q9372P0803431052

Hashes no tan comunes
crc3297119214
crc32bf4ef4d04
snefru256e1b8ad81fed9f6eebf60e6331f160b51995823a1536784c683fd5d49b2bdc
gostf365e694aaa50f4f15255e29f68f63aee51ffa4ab05b074221419dfdac593318
adler32e3062475
ripemd128d955ae868c4b91b8b52f15c5da9667f4
ripemd160e08a9d8b3f654213cdd42b7434ff170241c0f97c
tiger128,336366b9400eb2e18f15447aba9692df2
tiger128,445210c1d2d8a4e74002e25bd33a41bbe
tiger160,336366b9400eb2e18f15447aba9692df23539d381
tiger160,445210c1d2d8a4e74002e25bd33a41bbec39d5383
tiger192,336366b9400eb2e18f15447aba9692df23539d38172e2ce5e
tiger192,445210c1d2d8a4e74002e25bd33a41bbec39d538395e1aa1e
haval128,3f234f4f7511007986f872a86bbdea40e
haval128,414b022a1ffeecadcf48f984742de05de
haval128,5d034822d8fce45964bc0a32a739aedd3
haval160,398a709260c6e428b294f172f9cd6b7351dc74de5
haval160,47e7af49187cb9e42b0a169680c76d4734d4a0023
haval160,5ccc54223971986133b0499287f185a5b1c5dc751
haval192,35e901cc683873373667ac5faadfa914ac67c741d0e3d8ad5
haval192,48b1b2a496a864daa6af467db443655ef2f0261b35f9d0306
haval192,587322c0b0b848a3a5554317ebe3cf670213685c2b29fa8fd
haval224,34ba032246ec0d589d74da25d9180fa081dc1b972bcdce122b9e5d936
haval224,40615a110d402b1285599475029babdbdb2f05401e73d87adc4ff0f19
haval224,50831b0fec557e675c3f24da8e6eaa74b6fb2f6cace5b7935fcfc4848
haval256,3dbf8bff7f6e17938ad343f81961932f45e61e8fb57b99ceb8de2097e2397c896
haval256,400615bac660a520ab2c178e1d900f06746a2a929bb211cdb234613b642dbdb5b
haval256,52b69b4a16ddbdf3f59fb79d9b859bbbf75d07110da310fbab4547ee77bc01234
whirlpool89a5a843906f070c54581b2161f33a3bf7b02cfcd359c0c395ade5a8078a8734db3419
b98029247892cb0bddf322eb277d17af28753ca102a175e6cb0bb14a00

fuente : Hashkiller.com

Enlaces interesantes para la encriptación de Hashes: TextOpus.

Thursday, 22 January 2009

Creando una función Implode /Explode igual que en PHP

Los que tocamos PHP, podemos ver las carencias que a veces tiene Delphi. En este caso hay unas funciones muy útiles para tratar cadenas, serian Implode y Explode.
Cadena = "1,2,3,4,5,6" -> Explode -> devuelve una array con [1],[2],[3],[4],[5],[6]
array = [1],[2],[3],[4],[5],[6] -> Implode -> devuelve un string "1,2,3,4,5,6"

En los 2 casos, hay que indicar el carácter separador, en este caso es una coma.

En delphi he hecho estas pequeñas funciones que nos ayudaran a utilizar estas funciones de una manera cómoda y fácil.



function Implode(const Separador: string; const sArray: TStringArray): string;
var
i: Integer;
sTexto : string;
begin
sTexto := '';
for i := 0 to Length(sArray) - 1 do
begin
sTexto := sTexto + Separador + sArray[i];
end;
Delete(sTexto, 1, Length(Separador));
result := sTexto;
end;

function Explode(const Separador, texto: string): TStringArray;
var
i: Integer;
S: string;
sArray : TStringArray;
begin
S := texto;
SetLength(sArray, 0);
while AnsiPos(Separador, S) > 0 do
begin
i := Length(sArray);
SetLength(sArray, i + 1);
sArray[i] := Copy(S, 1, Pos(Separador, S) - 1);
S := Copy(S, Pos(Separador, S) + Length(Separador), Length(S));
end;
i := Length(sArray);
SetLength(sArray, i + 1);
sArray[i] := Copy(S, 1, Length(S));
result := sArray;
end;


Un ejemplo sería:




Thursday, 8 January 2009

Editor Hexadecimal

Desde la página de mirkes.de, podemos bajarnos un editor Hexadecimal bastante completo, con todas las fuentes para delphi. Todos los componentes y la aplicación los podemos encontrar en la página de descargas .



  • Instalando el componente:
Descomprimimos el fichero HexEdit.zip, y desde delphi, abrimos el fichero:



Una vez abierto, nos aparecerán el bpl con los packages a instalar:



Acordaros de poner la ruta donde estan los dcu's en el Library Path. Sino el proyecto no sabrá donde estan los ficheros compilados. Luego podemos abrir alguno de los proyectos sample y arrancarlo:



Los componentes son los siguientes:



Espero que os sirva de algo. La verdad es que el componente esta bastante bien.

Wednesday, 7 January 2009

Utilizando componentes de encriptación, cifrado y Hashes

En este post, os muestro la instalación y utilización de la librería DCPcrypt Cryptographic Component Library (Open Source) para Delphi. La librería la podemos encontrar en la web Cryptography. Nos descargamos la última revisión de la librería, y la instalamos:





Mediante los componentes que trae la librería, podremos encriptar y desencriptar strings y ficheros para nuestras aplicaciones.
En la misma página del autor, podemos bajarnos alguna demo para probar su funcionamiento:



Existen los siguientes tipos de algoritmos:

Algoritmos de encriptación

Algoritmos Hash

  • Blowfish
  • Cast 128
  • Cast 256
  • DES, 3DES
  • Ice, Thin Ice, Ice2
  • IDEA
  • Mars
  • Misty1
  • RC2, RC4, RC5, RC6
  • Rijndael (the new AES)
  • Serpent
  • Tea
  • Twofish
  • Haval
  • MD4
  • MD5
  • RipeMD-128
  • RipeMD-160
  • SHA-1
  • SHA-256, SHA-384, SHA-512
  • Tiger

Para instalar la Package, seleccionamos el fichero DCPdelphi6.dpk y una vez abierto lo compilamos, y lo instalamos.