Xifratge de contrassenyes (PHP)
Link de referència.
És molt important tenir un conjunt de punts en compte en el moment de fer el login per a un lloc web. Per Internet podeu trobar-ne moltes recopilacions. Una de les més exhaustives és la que trobareu en el link. Entre tots els consells n'hi ha un que sempre es repeteix: xifrar la contrassenya. El xifratge és el què es tractarà en aquest how-to, i veurem com fer-ho amb seguretat des de PHP.
Per tal de protegir les contrassenyes de les nostres aplicacions web em d'utilitzar SHA-2, tot i que encara podem utilitzar SHA-1 o MD5 si la contrassenya és molt segura.
Uns exemples de xifratge correctes:
$pass = 'La contrassenya';
$sha256 = hash( 'sha256', $pass );
$sha384 = hash( 'sha384', $pass );
$sha512 = hash( 'sha512', $pass );
El resultats serien:
- MHASH_SHA256: 26e8d9491b562a7fb2cff372e193211fb2437262f2c505d76a61f681fee3500f
- MHASH_SHA384: 8859c5aa3610607e5f188a6f736f1be482f2928c4c25aa0e20fbd0d5d2f0579199dd2eae9e6a6691107688c22117b5e3
- MHASH_SHA512: ffcfc6dd5c4033d1c22b11421853d9250f7db1ac21a314e5205971007cc74cfe174b6b46e8be4c648448e476bcaf4ffd35a9a606126a526f8e94943e9ebfe89b
Per acabar, i per si algú se li acudís com a idea brillant: No feu mai una doble encriptació. Malgrat pugui semblar que es guanya en seguretat no és així, ja que amb la segona encriptació el que s'acaba fent és posar molta informació redundant o augmentant les possibilitats de col·lisió de hash (si s'utilitza dispersió).