Tipo di campo del database per l'archiviazione della password?

3

In passato ho usato varchar(255) per memorizzare le password con hash (senza sale). È ancora abbastanza? O sono richiesti campi più lunghi?

    
posta powtac 06.06.2012 - 20:17
fonte

3 risposte

2

La dimensione del campo nel database deve corrispondere esattamente alla dimensione dell'output della funzione di derivazione della chiave. Quindi se l'output è lungo 60 caratteri , usa un varchar(60) (o forse char(60) se è più piccolo o più veloce nel tuo database) .

E per favore, non solo cancellare la password e chiamarla un giorno. Fallo bene .

    
risposta data 07.06.2012 - 04:08
fonte
1

Un campo di database più lungo o un tipo diverso non fa alcuna differenza per la sicurezza, se questa è la tua domanda.

Dovresti scegliere una lunghezza del campo che sia sufficientemente lunga solo per contenere l'intera lunghezza di bit dell'hash risultante. Questo è solo per l'overhead minimo di archiviazione e le prestazioni. (Vedi questo come guida link )

Un algoritmo di hash restituirà esattamente la stessa quantità di dati (è la sua lunghezza di bit) indipendentemente dalla quantità di dati inseriti.

vale a dire. (password o password + sale o 100 righe di testo) hash restituirà esattamente la stessa quantità di bit dopo l'hashing attraverso lo stesso algoritmo.

Per aumentare la sicurezza dovresti cambiare il modo in cui hai gestito l'hashing, la raccolta e la conservazione di sale (se lo fai) come è già stato detto.

    
risposta data 07.06.2012 - 09:55
fonte
0

Qualunque input tu usi, hashing produce sempre un risultato con la stessa lunghezza. Inoltre, la salatura non influisce sulla lunghezza dell'hash, perché è necessario immettere il sale prima di applicare la funzione di hashing: hash(password+salt) . Non è necessario utilizzare i campi DB più lunghi della lunghezza dell'output di hashing.

Inoltre, l'iterazione della funzione di hashing non influisce sulla lunghezza: length(hash(hash(input))) == length(hash(input))

    
risposta data 07.06.2012 - 10:27
fonte

Leggi altre domande sui tag