Un sistema che stiamo introducendo nell'organizzazione non utilizza alcuna funzione di hashing tradizionale che riesco a trovare. Sono stato assegnato a "approvarlo" con il test black-box.
Sospetto che le password vengano semplicemente offuscate o crittografate (non con hash) in quanto la lunghezza del risultato cambia con la lunghezza della password (anche se c'è un minimo, a quanto pare - forse padding?).
Ecco alcuni dati:
password : result 1 : TG3432WB7VU= 11 : r8ahLkJGWbY= 111 : E7fXdNqEWAA= 11111111 : FIcx3a00R4eGhFyHjD56qw== 1111111111 : FIcx3a00R4evxqEuQkZZtg== 2111111111 : GPwnH80qEACvxqEuQkZZtg==
Il risultato è ovviamente base64, ma non decodifica in nulla leggibile. Prima di sapere che la lunghezza del risultato è cambiata, ho provato a prendere i byte decodificati e a trattarli come MD5 e altre funzioni di hashing, ma ovviamente non è saltato fuori. Ora che so che il risultato cambia di lunghezza, sto considerando altre alternative, peggio. Di nota sono le due parti in grassetto sopra: sono identiche in due password diverse. Quindi, ogni 8 byte viene elaborato indipendentemente (perché?) Oppure c'è una sostituzione polialfabetica in corso (?).
Aggiornamento:
Qualsiasi carattere, inclusi i caratteri Unicode, è accettato dal sistema per le password. La ripetizione di un carattere di 3 byte per 8 volte comporta un "hash" lungo 24 byte.