Il titolo descrive abbastanza bene quello che voglio chiedere, perché non riesco a capirlo. Comprendo le basi della rottura dei dati crittografati con il metodo di tipo bruteforcing in cui crittografate i dati di esempio e li confrontiamo con la crittografia che desiderate crackare. Tuttavia, non capisco quanto funzioni una crittografia sofisticata.
Darò questo codice che ho postato in un'altra domanda, a rischio perché non è stato accettato molto bene, ma solo per illustrare l'esempio più semplice
function my_hash($data){
// Generate random salt
$salt = substr(md5(str_shuffle('0123456789abcdef')), 0, 5);
// Mask salt within the hash
$hash = substr(md5($data. $salt), 0, -5) . $salt;
return $hash;
}
function my_check($data, $hash){
$salt = substr($hash, -5);
return substr(md5($data. $salt), 0, -5) . $salt === $hash;
}
$hash = my_hash('qwerty');
Puoi spiegarmi, se avessi un super-computer e miliardi di stringhe crittografati con quella funzione, come hai potuto scoprire l'algoritmo con cui sono stati crittografati?
Modifica: la domanda suggerita non risponde a quella che ho chiesto, sta spiegando come indovinare la funzione di hashing che è stata utilizzata, non come craccarla e trovare l'algoritmo dietro di essa. Posso facilmente dire che è md5 quando è lungo 32 byte e contiene caratteri 0-9a-f ma c'è una differenza tra il semplice md5 e ciò che ho postato sopra.