Esiste un algoritmo di hashing crittograficamente sicuro che fornisce un digest di 60 bit al messaggio?
Ho una stringa univoca (id + timestamp), ho bisogno di generare un hash 60 bit da esso. Quale sarà il miglior algoritmo per creare un simile hash?
risposte:
2 per risposta № 1Puoi sempre prendere un algoritmo hash con adimensioni di uscita maggiori, ad es. sha256 e lo troncano a 60 bit. Che sia appropriato per le tue esigenze, non posso dire senza molte più informazioni. 60 bit è generalmente considerato troppo breve per la maggior parte delle esigenze di sicurezza.
1 per risposta № 2
Non esiste un algoritmo a 60 bit per la crittografia. Algoritmi hanno poteri di 2. Suggerisco di usare sha1 per creare l'hash. È 128 bit
hash=sha1(id + timestamp)
Se è necessario (non consigliato) comprimere questo, utilizzare la sottostringa per ridurlo a 64 bit
smallHash=substr(hash, 0,8)
(8 caratteri = 64 bit)
0 per risposta № 3
Qualsiasi algoritmo di hashing con una dimensione di uscita di 60 bit può fornire al massimo solo 30 bit di resistenza alla collisione (secondo il paradosso del compleanno). 30 bit è troppo corto per essere utile in sicurezza al giorno d'oggi.