Vi sono problemi di sicurezza se si avvolge l'hash crittografico con MD5 a scopo di archiviazione?
Ad esempio:
$hash = md5(hash($password,$salt,$rounds));
Nota: hash()
utilizza scrypt
o bcrypt
o pbkdf2
internamente.
L'unico scopo di md5 è lo storage poiché utilizza solo 32 byte rispetto a un hash raw molto lungo.
EDIT: Giudicando dai commenti qui sotto accetto MD5 non è una buona idea in quanto è soggetto a collisione ma cosa succede se uso una funzione di hashing migliore come SHA512? Tuttavia, i commenti sottostanti sostengono che potrebbe effettivamente indebolirlo, ma qualcuno può spiegare come?
Come può questo:
$hash = SHA512(bcrypt($password,$salt,$rounds));
sii più debole di questo:
$hash = bcrypt($password,$salt,$rounds);
?
Mi sembra che il primo sia più strong dal momento che devi "crackare" SHA512 prima di poter iniziare a lavorare su cracking bcrypt. Perché gli altri dicono il contrario?